Dateigrößen ermitteln
Hallo,
ich habe eine Batch-Datei erstellt, um die Größe von Dateien zu ermitteln, die sich in einem bestimmten Verzeichnis befinden.
Diese Dateigrößen sollen dann in eine Textxdatei geschrieben werden, die dann auf den Desktop abgelegt werden soll
Zwar läuft die Datei gut durch, aber am Ende fehlt genau die Angabe der Dateigrößen
Hier mein bisheriger Code:
Könnt Ihr mir sagen, wo der Fehler liegt?
Danke und Grüße von
Yan
ich habe eine Batch-Datei erstellt, um die Größe von Dateien zu ermitteln, die sich in einem bestimmten Verzeichnis befinden.
Diese Dateigrößen sollen dann in eine Textxdatei geschrieben werden, die dann auf den Desktop abgelegt werden soll
Zwar läuft die Datei gut durch, aber am Ende fehlt genau die Angabe der Dateigrößen
Hier mein bisheriger Code:
@echo off
chcp 1252
setlocal
REM Verzeichnis definieren
set "directory=C:\Users\Laptop\Desktop\Dateigroesse ermitteln"
set "output_file=C:\Users\Laptop\Desktop\test.txt"
REM Überprüfen, ob das Verzeichnis existiert
if not exist "%directory%" (
echo Das Verzeichnis %directory% existiert nicht.
exit /b 1
)
REM Ausgabe-Datei initialisieren
echo Dateigrößen im Verzeichnis %directory% > "%output_file%"
REM Dateien im Verzeichnis auflisten und Größen ermitteln
for %%f in ("%directory%\*") do (
if exist "%%f" (
set "file=%%f"
set "size="
for /f "tokens=3" %%a in ('dir /-c "%%f" ^| findstr /c:"%%f"') do set "size=%%a"
echo Datei: %%~nxf, Größe: %size% Bytes >> "%output_file%"
)
)
echo Die Dateigrößen wurden in %output_file% gespeichert.
endlocal
pause
Könnt Ihr mir sagen, wo der Fehler liegt?
Danke und Grüße von
Yan
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 671370
Url: https://administrator.de/forum/dateigroessen-ermitteln-671370.html
Ausgedruckt am: 19.02.2025 um 04:02 Uhr
6 Kommentare
Neuester Kommentar
Moin,
Und wer es moderner (Powershell) haben will:
Und wer es moderner (Powershell) haben will:
$srcPath = "C:\Users\Laptop\Desktop\Dateigroesse ermitteln"
$outFile = "C:\Users\Laptop\Desktop\text.txt"
Get-ChildItem -Path $srcPath -File |
Select-Object FullName, @{Name="MBytes";Expression={ "{0:N3}" -f ($_.Length / 1MB) }} |
Out-File -FilePath $outFile -Encoding 'UTF8'
Wie @Penny.Cilin schon sagte gibt es da genug.
Bei Linux lass ich mir das noch gefallen. Blocksize ausgeben, um z.B. beim ESXi einen Kopiervorgang zu überwachen. Wieviel wurde bereits geschrieben?
Bei solchen Dingen ist sowas durchaus sinnvoll.
Ansonsten immer PowerShell. Mit Batch macht man es sich nur schwer.
https://www.powershellgallery.com/packages/TreeSize/2.0
Für vieles gibt es auch in der PS Gallery schon eine Lösung. Lohnt sich einfach damit "zu spielen". Exchange Verwaltung läuft auch über PS. Da kommst du mit Batch nicht weit.
Bei Linux lass ich mir das noch gefallen. Blocksize ausgeben, um z.B. beim ESXi einen Kopiervorgang zu überwachen. Wieviel wurde bereits geschrieben?
Bei solchen Dingen ist sowas durchaus sinnvoll.
Ansonsten immer PowerShell. Mit Batch macht man es sich nur schwer.
https://www.powershellgallery.com/packages/TreeSize/2.0
Für vieles gibt es auch in der PS Gallery schon eine Lösung. Lohnt sich einfach damit "zu spielen". Exchange Verwaltung läuft auch über PS. Da kommst du mit Batch nicht weit.
Zitat von @Penny.Cilin:
warum so umständlich? Nimm Treesize von JAM-Software. Das kann auch in der Freewareversion Dir das sogar grafisch aufzeigen.
warum so umständlich? Nimm Treesize von JAM-Software. Das kann auch in der Freewareversion Dir das sogar grafisch aufzeigen.
Und geht auch im Netzwerk...
Sonst könnte man sagen: PowerShell und Script um es via Enter-PSsession o.ä. aufzubereiten. Tressize würde einen sogar das via GUI abnehmen.