marvinpl
Goto Top

Größe einer Datei per BATCH in eine TXT schreiben

Hallo erstmal und danke, dass du meine Frage geöffnet hast.

Ich möchte auf Servern von uns und unseren Kunden die Dateigrößen von manchen Dateien überwachen.
Dafür möchte ich die Dateigröße automatisiert (Aufgabenplanung) mit einer BATCH in eine Textdatei schreiben.

Leider bin ich nicht so versiert in Kommandozeilenbefehlen, daher frage ich nun hier, wie man so etwas bewerkstelligt.

Ich bin über jede Hilfe dankbar, vielleicht lerne ich hier noch ein wenig dazu.
Vielen Dank im Voraus face-smile

Content-Key: 334038

Url: https://administrator.de/contentid/334038

Printed on: April 19, 2024 at 12:04 o'clock

Member: em-pie
Solution em-pie Apr 04, 2017 at 13:17:51 (UTC)
Goto Top
Moin,

bin vermutlich mit googlen schneller gewesen, als du mit deinem Post schreiben face-wink

@echo off
setlocal
set file="test.cmd"  
set maxbytesize=1000

FOR /F "usebackq" %%A IN ('%file%') DO set size=%%~zA  

if %size% LSS %maxbytesize% (
    echo.File is ^< %maxbytesize% bytes
) ELSE (
    echo.File is ^>= %maxbytesize% bytes
)
Quelle: http://stackoverflow.com/questions/1199645/how-can-i-check-the-size-of- ...

anstelle von Zeile 08ff könntest du dann einfach ein
 echo %size%>c:\tofile.txt
schreiben

Die Ausgabe wäre dann in Byte, du müsstest dann lediglich durch 1024^x teilen, wenn du KiByte(x=1), MiByte (x=2) oder GiByte(x=3) haben möchtest...

Gruß
em-pie
Member: marvinpl
marvinpl Apr 04, 2017 at 13:30:20 (UTC)
Goto Top
Dann bedienst du Google besser als ich :P
Hab leider nichts passendes gefunden.

Vielen Dank!
Funktioniert face-smile
Member: em-pie
em-pie Apr 04, 2017 at 14:23:11 (UTC)
Goto Top
Tipp:
Häufig kommt man mit den englischen Begriffen schneller zu Ziel.
In diesem konkreten Fall ist es batch filesize gewesen...

Ansonsten: viel Erfolg beim Beobachten face-smile
Member: clubmaster
clubmaster Apr 05, 2017 at 07:50:53 (UTC)
Goto Top
Geht auch mit forfiles:

https://www.windowspro.de/wolfgang-sommergut/forfiles-befehle-auf-gruppe ...

z.B: forfiles /S /M *.txt /C "cmd /c if @fsize LSS 100 echo @fname > E:\dateigroesse.txt
Member: colinardo
colinardo Apr 05, 2017 updated at 08:28:23 (UTC)
Goto Top
Nur zur Information, bei 2GB 2^31 Bytes ist Schluss mit dem "direkten" Vergleichen in Batch (Integer Overflow), dann sollte man bspw. auf Powershell/VBS/... ausweichen.
http://stackoverflow.com/questions/11546020/can-batch-files-not-process ...

Grüße Uwe