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, 9163 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 ..
Ähnliche Inhalte
Batch & Shell
gelöst Mehrzeiligen Powershell-Befehl mit Batch ausführen (3)

Frage von 133202 zum Thema Batch & Shell ...

Batch & Shell
gelöst EQU - GLEICH - BATCH (9)

Frage von freshman2017 zum Thema Batch & Shell ...

Microsoft Office
gelöst EXCEL: Zahlen aufrunden volle Tausenderstelle (10)

Frage von sims zum Thema Microsoft Office ...

Batch & Shell
gelöst Batch script: Problem beim Kopieren und bearbeiten, dynamischen Pfad ermitteln (27)

Frage von Hedgehogi zum Thema Batch & Shell ...

Neue Wissensbeiträge
Administrator.de Feedback

Umgangsformen auf der Seite

(7)

Information von Frank zum Thema Administrator.de Feedback ...

Windows 10

Windows 8.x oder 10 Lizenz-Key aus dem ROM auslesen mit Linux

(10)

Tipp von Lochkartenstanzer zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Batch & Shell
gelöst Dir tc Befehl unter Windows 10 macht Probleme (14)

Frage von sugram zum Thema Batch & Shell ...

Windows Server
Windows Server 2016 RDS Remoteapp Anzeigefehler (11)

Frage von qlnGenius zum Thema Windows Server ...

Windows Server
Festplatten Ruhezustand Windows Server 2016 (10)

Frage von ahaeuser zum Thema Windows Server ...