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, 8904 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
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
Batch zum bearbeiten mehrerer CSV (3)

Frage von Matzus87 zum Thema Batch & Shell ...

Batch & Shell
Batch-Variable nach Stichworten aus TXT Datei durchsuchen (3)

Frage von Markus5579 zum Thema Batch & Shell ...

Batch & Shell
Dateinamen nach Zeichnen abschneiden - Batch-Shell (9)

Frage von cberndt zum Thema Batch & Shell ...

Batch & Shell
CMD Verschlüsslung ( Batch ) (11)

Frage von clragon zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...