Top-Themen

Aktuelle Themen (A bis Z)

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

Dateigröße in Batch ändern von KB auf MB oder GB

Frage Entwicklung Batch & Shell

Mitglied: imebro

imebro (Level 2) - Jetzt verbinden

05.11.2010, aktualisiert 08:00 Uhr, 5746 Aufrufe, 7 Kommentare

Hallo an Alle,

vor einiger Zeit konnte ich mit Eurer Hilfe eine Batchdatei erstellen, mit der mir alle am Vortag vorgenommenen Änderungen auf einem bestimmten Laufwerk angezeigt wurden.

Leider wird die Größe der veränderten Dateien in KB ausgegeben.
Diese Angaben hätte ich der Übersichtlichkeit wegen lieber in MB und/oder GB.

Was muss ich ändern?

Hier die Batch:

01.
set "Basis=s:\archiv\" 
02.
set "Liste=D:\dir.txt" 
03.
 
04.
set "G=%temp%\Gestern.vbs" 
05.
>%G% echo WScript.Echo DateAdd("d",-1, Date) 
06.
for /f %%i in ('cscript //nologo %G%') do set "Gestern=%%i"  
07.
 
08.
set UnsortiertE=%temp%\E.txt 
09.
set UnsortiertG=%temp%\G.txt 
10.
 
11.
copy nul %UnsortiertE% >nul  
12.
copy nul %UnsortiertG% >nul 
13.
for /r "%Basis%" %%i in (.) do for /f "tokens=1-3*" %%a in ('dir /a-d /tc "%%i" 2^>nul^|findstr /b "%Gestern%"') do call :ProcessLine "%UnsortiertE%" "%%c" "%%a %%b" "%%~fi\%%d" 
14.
for /r "%Basis%" %%i in (.) do for /f "tokens=1-3*" %%a in ('dir /a-d "%%i" 2^>nul^|findstr /b "%Gestern%"') do findstr /c:"%%c;%%a %%b;%%~fi\\%%d" "%UnsortiertE%">nul || call :ProcessLine "%UnsortiertG%" "%%c" "%%a %%b" "%%~fi\%%d" 
15.
 
16.
>"%Liste%" echo Erstellt am: %Gestern% 
17.
>>"%Liste%" sort %UnsortiertE% 
18.
>>"%Liste%" echo\ 
19.
>>"%Liste%" echo Geändert am: %Gestern% 
20.
>>"%Liste%" sort %UnsortiertG% 
21.
"%Liste%" 
22.
goto :eof 
23.
 
24.
:ProcessLine 
25.
set "Gr=               %~2" 
26.
>>%1 echo %Gr:~-15%;%~3;%~4 
27.
goto :eof
Danke Euch und schöne Grüße,
imebro
Mitglied: 60730
05.11.2010 um 09:28 Uhr
MOin,

du mußt für die KB in MB umrechnung "nur" durch 1048576 (/1024/1024) teilen

Wobei das "nur" schon komplizierter wird - denn alles was unter einem MB ist, wird als null angezeigt.

da du da aber ; als Trenner drin hast, möchte ich eigentlich nicht entscheiden, ob da zusätzlich ein KB/MB in die Spalte kommt, wenn die größe < 0 ist.

01.
:ProcessLine 
02.
set "Gr=               %~2" 
03.
set /a MB=%Gr:~-15%/1048576 
04.
>>%1 echo %MB%;%~3;%~4 
05.
goto :eof
Gruß
Bitte warten ..
Mitglied: LotPings
05.11.2010 um 09:29 Uhr
Hallo imebro,

willst du das Kilo zu 1000 oder zu 1024 Bytes haben?
Für die Variante 1024 und den Set /a Befehl kannst du, da 1024 zwei hoch zehn entspricht, mit dem Bitshift Operator ">> 10" den Wert einfach um 10 Stellen nach rechts verschieben was einer Division durch 1024 entspricht. Für GigaByte dann zwei hoch zwanzig. Damit der Operator nicht mit dem file append verwechselt werden kann, muß alles nach dem set /a in Anführungszeichen eingefasst werden.

Ungetestet:
01.
:Processline 
02.
Set /a "Gr=%~2 >> 20" 
03.
set "Gr=               %Gr%" 
04.
>>%1 echo %Gr:~-15%;%~3;%~4 
05.
goto :eof
Gruß
LotPings

Edit: Moin Timo, du warst schneller, aber bei dir geht die rechtsbündige Ausrichtung flöten
Bitte warten ..
Mitglied: imebro
05.11.2010 um 12:17 Uhr
Hallo,

ich habe eben mal spontan die Lösung von "LotPings" getestet.

Dabei werden jedoch auch nur KB ausgegeben...
Was muss ich tun, um nun MB zu erhalten und was müßte ich zusätzlich angeben, damit hinter jedem Eintrag dann auch "MB" steht (z.B. "233 MB")?

Werde aber jetzt auch mal die Lösung von "TimoBeil" testen und dann berichten.

Dank Euch!

Gruss
imebro
Bitte warten ..
Mitglied: imebro
05.11.2010 um 13:32 Uhr
Update:

Die Version von "TimoBeil" ergibt auch nur die Anzeige von KB.

Seltsamer Weise werden bei dieser Version - bei der gleichen Abfrage - mehr Dateien als Ergebnis angezeigt...

Vielleicht gibt es ja noch weitere Ideen dazu?

Und bitte auch an die Angabe "MB" denken hinter der Zahl der Dateigröße (siehe letzte Antwort).

Hier sind die beiden mit Euren Vorschlägen erstellten DIR-Dateien:
Batch-Datei als DIR_LotPing.txt
Batch-Datei als DIR_TimoBeil.txt

Dank Euch!

Gruss
imebro
Bitte warten ..
Mitglied: imebro
08.11.2010 um 10:57 Uhr
...hat Niemand eine Idee zum Problem?

Danke und Gruss,

imebro
Bitte warten ..
Mitglied: 60730
08.11.2010 um 17:08 Uhr
Moin,
Zitat von imebro:
...hat Niemand eine Idee zum Problem?

naja -nur weil ich hin & wieder mal was ohne Computer mache...

Ich hab das mal nachgestellt - mit einer Iso Datei - weil ich nicht wirklich gestern eine erstllt hab (hin und wieder arbeite ich Sonntags wirklich nicht)
- hab ich das temporäre vbs umgangen und der Variable %Gestern% eine feste zuweisung verpasst.

Siehe da:
Erstellt am: 01.11.2010 
    699.924.480;01.11.2010 12:34;C:\\check\\firmware.iso.iso 
 
Geändert am: 01.11.2010 
    699.924.480;01.11.2010 14:45;C:\check\firmware.iso.iso
spuckt deine gepostete Version aus

Erstellt am: 01.11.2010 
699;01.11.2010 12:34;C:\check\firmware.iso.iso 
 
Geändert am: 01.11.2010 
699;01.11.2010 14:45;C:\check\firmware.iso.iso
die geänderte mit MB statt kb.
keine Doubletten und keine leerzeichen / einrückung vor der größenangabe.


Jetzt habe ich das mal etwas "verfeinert"verbastelt...
Und auf meine Pfade angewandt und immer noch das "gestern" statisch gesetzt - sonst käme ja nix raus

01.
set "Basis=C:\script\date\" 
02.
set "Liste=C:\script\date\dir4.txt" 
03.
 
04.
set "G=%temp%\Gestern.vbs" 
05.
>%G% echo WScript.Echo DateAdd("d",-7, Date) 
06.
:for /f %%i in ('cscript //nologo %G%') do set "Gestern=%%i"  
07.
set "Gestern=...11.2010"  
08.
 
09.
set UnsortiertE=%temp%\E.txt 
10.
set UnsortiertG=%temp%\G.txt 
11.
 
12.
copy nul %UnsortiertE% >nul  
13.
copy nul %UnsortiertG% >nul 
14.
for /r "%Basis%" %%i in (.) do for /f "tokens=1-3*" %%a in ('dir /a-d /tc "%%i" 2^>nul^|findstr /b "%Gestern%"') do call :ProcessLine "%UnsortiertE%" "%%c" "%%a %%b" "%%~fi\%%d" 
15.
for /r "%Basis%" %%i in (.) do for /f "tokens=1-3*" %%a in ('dir /a-d "%%i" 2^>nul^|findstr /b "%Gestern%"') do findstr /c:"%%c;%%a %%b;%%~fi\\%%d" "%UnsortiertE%">nul || call :ProcessLine "%UnsortiertG%" "%%c" "%%a %%b" "%%~fi\%%d" 
16.
 
17.
>"%Liste%" echo Erstellt am: %Gestern% 
18.
>>"%Liste%" sort %UnsortiertE% 
19.
>>"%Liste%" echo\ 
20.
>>"%Liste%" echo Geändert am: %Gestern% 
21.
>>"%Liste%" sort %UnsortiertG% 
22.
"%Liste%" 
23.
goto :eof 
24.
 
25.
:ProcessLine 
26.
set "Gr=%~2"         
27.
set /a MB=%Gr%/1048576 
28.
 
29.
if %MB% gtr 0 ( 
30.
	>>%1 echo %MB% MB;%~3;%~4 
31.
) else ( 
32.
	>>%1 echo %Gr% KB;%~3;%~4  
33.
34.
goto :eof
also nur den Monat 11.2010 gefiltert (die drei blindenpunkte im Set Gestern)
folgerichtig wieder keine Doubletten und deine gewünschte Benamsung der Dateigröße (da hättest du aber auch selber draufkommen müssen) incl. if else Abfrage ob nun kb oder mb augewürfelt wurden.

Erstellt am: ...11.2010 
1 MB;08.11.2010 15:50;C:\\script\\date\\liste2.cmd 
1 MB;08.11.2010 16:36;C:\\script\\date\\dir3.txt 
1 MB;08.11.2010 16:36;C:\\script\\date\\liste3.cmd 
1 MB;08.11.2010 16:47;C:\\script\\date\\liste4.cmd 
182 KB;08.11.2010 16:33;C:\\script\\date\\dir.txt  
205 KB;04.11.2010 12:27;C:\\script\\date\\birthday.cmd  
221 KB;04.11.2010 13:03;C:\\script\\date\\birthday2.cmd  
65 KB;04.11.2010 13:03;C:\\script\\date\\birthday.ini  
699 MB;01.11.2010 12:34;C:\\script\\date\\hp_dl145_g3.iso 
998 KB;08.11.2010 15:48;C:\\script\\date\\liste.cmd  
 
Geändert am: ...11.2010 
1 MB;08.11.2010 16:33;C:\\script\\date\\liste2.cmd 
1 MB;08.11.2010 16:36;C:\\script\\date\\liste3.cmd 
1 MB;08.11.2010 16:51;C:\\script\\date\\dir3.txt 
1 MB;08.11.2010 17:01;C:\\script\\date\\liste4.cmd 
182 KB;08.11.2010 16:33;C:\\script\\date\\dir.txt  
205 KB;04.11.2010 12:29;C:\\script\\date\\birthday.cmd  
221 KB;04.11.2010 13:11;C:\\script\\date\\birthday2.cmd  
65 KB;04.11.2010 13:12;C:\\script\\date\\birthday.ini  
699 MB;01.11.2010 14:45;C:\\script\\date\\hp_dl145_g3.iso 
998 KB;08.11.2010 15:48;C:\\script\\date\\liste.cmd 
Gruß

<b>edit: ich flieg dauernd raus - [strg]+[A] [strg]+[C] ist mein neuer Freund und einfache \ werden trotz codeblock zu doppelten \\
Im Script habe ich das jetzt nochmal "hoffentlich" bereinigt, aber im Rest "logfiledingens" usw. kann mich das "\" mal am abend besuchen</edit>
Bitte warten ..
Mitglied: imebro
09.11.2010 um 09:14 Uhr
Hallo "TimoBeil" und danke für Deine Mühe.

Hoffentlich hat sich das Problem mit dem Backslash auch erledigt

Werde die Datei gleich mal austesten und dann berichten.

Danke und schöne Grüße,
imebro
Bitte warten ..
Ähnliche Inhalte
Visual Studio
Webclient Download Größe in KB, MB etc. umrechnen
gelöst Frage von GERz0cKErZVisual Studio4 Kommentare

Das steht im ProgressChanged Event: Die Funktion "Größe": </code> Im Label steht -1KB bis der Download abgeschlossen bist, dann ...

Windows Server
Nur 255 MB verwendbar von 4 GB RAM
Frage von M.MarzWindows Server9 Kommentare

Hallo zusammen, mein Testserver Windows 2012 R2 zeigt plötzlich an, dass er nur 255 MB von 4 GB RAM ...

Peripheriegeräte
HP Scan and Capture - Dateigröße immer gleich - Probleme mit Auflösung ändern
Frage von Tomschaf91Peripheriegeräte7 Kommentare

Guten Morgen zusammen, nach langen, erfolglosen Recherchen wende ich mich nun an euch; vielleicht hat(te) ebenfalls jemand das gleiche ...

Multimedia & Zubehör
8 GB USB Stick besitzt nur noch 4 MB Kapazität
gelöst Frage von GwahlersMultimedia & Zubehör13 Kommentare

WIr haben letztens bei unseren Servern Backup-USB-Sticks ausgetauscht. Diese sind mit 8 GB Kapazität ausgewiesen. Allerdings kann man nur ...

Neue Wissensbeiträge
Windows 10

Windows 10 Fall Creators Update - Neue Funktion Hyper-V Standardswitch kann ggf. Fehler bei Proxy Configs verursachen

Erfahrungsbericht von rzlbrnft vor 10 StundenWindows 102 Kommentare

Hallo Kollegen, Da wir die Gefahr lieben, haben wir bei einigen Usern nun mittlerweile das Creators Update drauf. Einige ...

Sicherheit

TLS-Zertifikat und privater Schlüssel von Microsofts Dynamics 365 geleakt

Information von Penny.Cilin vor 12 StundenSicherheit

Microsoft hat versehentlich das TLS-Zertifikat inklusive dem privaten Schlüssel seiner Business-Anwendung Dynamics 365 geleakt. TLS-Zertifikat und privater Schlüssel von ...

Viren und Trojaner

Deaktivierter Keylogger in HP Notebooks entdeckt

Information von bitcoin vor 1 TagViren und Trojaner3 Kommentare

Ein Grund mehr warum man Vorinstallationen der Hersteller immer blank bügeln sollte Der deaktivierte Keylogger findet sich im vorinstallierten ...

Router & Routing

Lets Encrypt kommt auf die FritzBox

Information von bitcoin vor 1 TagRouter & Routing

In der neuesten Labor-Version der FB7490 integriert AVM unter anderem einen Let's Encrypt Client für Zugriffe auf das Webinterface ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Firefox Profieles im Roaming
gelöst Frage von Hendrik2586Netzwerkmanagement17 Kommentare

Hallo liebe Leute. :) Ich hab da ein kleines Problem, welches anscheinend nicht unbekannt ist. Wir nutzen hier in ...

Netzwerkmanagement
NAS über zwei weitere Ethernet Anschlüsse verbinden
gelöst Frage von Sibelius001Netzwerkmanagement16 Kommentare

Sorry - ich bin hier wahrscheinlich als kompetter IT Trottel unterwegs. Aber eventuell kann mir jemand ganz einfach helfen: ...

LAN, WAN, Wireless
Häufig Probleme beim Anmelden in WLAN
Frage von mabue88LAN, WAN, Wireless15 Kommentare

Hallo zusammen, in einem Netzwerk gibt es relativ häufig (1-2 mal pro Woche) Probleme mit der WLAN-Verbindung. Zunächst mal ...

Netzwerkgrundlagen
Hi eine blöde frage. xD
Frage von 132954Netzwerkgrundlagen13 Kommentare

Also: Habe 2012 r2 essentials neuinstalliert, allerdings installiert diese version ja gleich diesen gangen AD kram mit, den hab ...