Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Batch rechnen mit Aufrunden

Frage Entwicklung Batch & Shell

Mitglied: MISTAX

MISTAX (Level 1) - Jetzt verbinden

27.08.2008, aktualisiert 18.10.2012, 8974 Aufrufe, 2 Kommentare

Hallo,

ich hab mich jetzt hier 2 Stunden durchgelesen, aber irgendwie will sich die Lösung nicht finden lassen...

Ich möchte per Batch Folgendes machen:

Dateigröße von %file% in eine Variable schreiben.

01.
for %%F in (%file%) do set/a groesse=%%~zF
und dann diesen Wert durch 1048576 teilen, damit ich MB bekomme.
01.
set/a megabyte=%groesse%/1048576
Wenn ich mir aber das %megabyte% per echo ausgeben lasse kommt:

01.
Ungültige Zahl. Zahlen sind begrenzt auf eine Genauigkeit von 32 Bits. 
02.
ECHO ist ausgeschaltet (OFF).
Vermutlich wegen der zuvielen Nachkommastellen; die brauche ich auch garnicht, mir reicht der Wert vor dem Komma.


Wie bekomme ich es also hin, dass er mir einen gerundeten Wert, bzw. wegen mir auch nur die Stellen vor dem Komma rausgibt?

(nicht hauen, wenns einfach ist, ich sitz heute irgendwie neben mir)

Achja - vielen Dank im Vorraus natürlich für jede Hilfe! Wenn es per VBS einfacher geht, auch gerne so - ich kann nur überhaupt kein VBS...
Mitglied: MISTAX
27.08.2008 um 16:07 Uhr
So schnell kanns gehen... Habe lauter gefundene Codeschnipsel aneinandergehängt und schon funktionierts:

01.
@echo off & setlocal 
02.
set Zahl1=%file% 
03.
set Zahl2=1048576 
04.
set Stellen=0 
05.
 
06.
set R=Rechne.vbs 
07.
echo Set a=WScript.Arguments:WScript.Echo FormatNumber(Eval(a(0)),a(1))>%R% 
08.
for /f %%i in ('cscript //nologo %R% "%Zahl1%/%Zahl2%" %Stellen%') do set Ergebnis=%%i 
09.
echo %Ergebnis% 
10.
del Rechne.vbs
Gerne Verbesserungsvorschläge...
Bitte warten ..
Mitglied: bastla
27.08.2008, aktualisiert 18.10.2012
Hallo MISTAX!

Da Du schon einen Weg gefunden hast, vielleicht nur noch als Anmerkung: Das Problem sind nicht die Nachkommastellen (solche verwendet die CMD-Shell-Arithmetik überhaupt nicht), sondern die Stellen vor dem Komma ...

... mehr dazu in diesem Beitrag.

Grüße
bastla
Bitte warten ..
Neuester Wissensbeitrag
Exchange Server

WSUS bietet CU22 für Exchange 2007 SP3 nicht an. EOL Exchange 2007

Tipp von DerWoWusste zum Thema Exchange Server ...

Ähnliche Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Batch & Shell
Herunterfahren erkennen (Batch) (2)

Frage von clragon zum Thema Batch & Shell ...

Batch & Shell
gelöst Ordner und Datei Name gleich (BATCH) (12)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Batch xls nach aktuellem Datum auslesen und email senden (14)

Frage von michi-ffm zum Thema Batch & Shell ...

Backup
Datensicherung ARCHIV (12)

Frage von fautec56 zum Thema Backup ...

LAN, WAN, Wireless
Per Script auf UniFi-controller zugreifen und WPA2-Key ändern (11)

Frage von Winfried-HH zum Thema LAN, WAN, Wireless ...

Exchange Server
gelöst DHCP Sever MS Server 2012 Problem (10)

Frage von Florian86 zum Thema Exchange Server ...