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
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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 334038
Url: https://administrator.de/forum/groesse-einer-datei-per-batch-in-eine-txt-schreiben-334038.html
Ausgedruckt am: 12.04.2025 um 06:04 Uhr
5 Kommentare
Neuester Kommentar
Moin,
bin vermutlich mit googlen schneller gewesen, als du mit deinem Post schreiben
Quelle: http://stackoverflow.com/questions/1199645/how-can-i-check-the-size-of- ...
anstelle von Zeile 08ff könntest du dann einfach ein
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
bin vermutlich mit googlen schneller gewesen, als du mit deinem Post schreiben
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
@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
)
anstelle von Zeile 08ff könntest du dann einfach ein
1
echo %size%>c:\tofile.txt
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
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
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
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
http://stackoverflow.com/questions/11546020/can-batch-files-not-process ...
Grüße Uwe