Batch - Ordnername umbenennen, Ordnergröße anhängen am Ende des Namens
Hallo,
ich möchte im Ordnernamen die Ordnergröße am Ende des Namens anhängen
Wie im Titel schon beschrieben...
Batch - Ordnername umbenennen, Ordnergröße anhängen am Ende des Namens
Bsp.
ich habe hunderte Ordner die so aussehen.
Ordner ALT:
ZHLU00087_BLACK AND WHITE_2008_XCY_ght_0001
IJHK00098_SCHUH BALL FAHRRAD_JHG_kij_0002
Ordner NEU:
ZHLU00087_BLACK AND WHITE_2008_XCY_ght_0001_12.98GB
IJHK00098_SCHUH BALL FAHRRAD_JHG_kij_0002_252.87MB
So hätte ich sofort den Überblick, über die Größe und kann anschließend daraus Dateien (txt´s) anlegen die dann so aussehen.
(KB,MB,GB,TB hätte ich gern als Angabe, die aber Sinnvoll automatisch gewählt wird, je nach dem, wie groß die Datei ist.)
ich danke schon im voraus.
Gruß Ice
PS. das Gegenstück für die Datei Batch - Dateiname umbenennen, Dateigröße anhängen am Ende des Namens
ich möchte im Ordnernamen die Ordnergröße am Ende des Namens anhängen
Wie im Titel schon beschrieben...
Batch - Ordnername umbenennen, Ordnergröße anhängen am Ende des Namens
Bsp.
ich habe hunderte Ordner die so aussehen.
Ordner ALT:
ZHLU00087_BLACK AND WHITE_2008_XCY_ght_0001
IJHK00098_SCHUH BALL FAHRRAD_JHG_kij_0002
Ordner NEU:
ZHLU00087_BLACK AND WHITE_2008_XCY_ght_0001_12.98GB
IJHK00098_SCHUH BALL FAHRRAD_JHG_kij_0002_252.87MB
So hätte ich sofort den Überblick, über die Größe und kann anschließend daraus Dateien (txt´s) anlegen die dann so aussehen.
(KB,MB,GB,TB hätte ich gern als Angabe, die aber Sinnvoll automatisch gewählt wird, je nach dem, wie groß die Datei ist.)
ich danke schon im voraus.
Gruß Ice
PS. das Gegenstück für die Datei Batch - Dateiname umbenennen, Dateigröße anhängen am Ende des Namens
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 163726
Url: https://administrator.de/contentid/163726
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
Hallo Iceman!
Wenn Du nur Textdateien anlegen willst, wozu dann die Ordner umbenennen?
Anyhow:
Aber da jetzt ja ohnehin schon "
Grüße
bastla
Wenn Du nur Textdateien anlegen willst, wozu dann die Ordner umbenennen?
Anyhow:
@echo off & setlocal
set "Ordner=C:\TEST"
set "Einh=B KB MB GB"
pushd "%Ordner%"
for /f "delims=" %%i in ('dir /b /ad') do call :ProcessFile "%%i"
popd
pause
goto :eof
:ProcessFile
for /f "tokens=3" %%i in ('dir /s /w /-c %1^|findstr "Datei(en)"') do set "G=%%i"
:: bei mehr als 9-stelliger Dateigröße Sonderbehandlung
if "%G:~9%" neq "" goto :GBorMore
set /a D=0
set /a N=1
:Loop
if %G% lss 1000 goto :Done
set /a D=G %% 1000
set /a G=G/1000
set /a N+=1
goto :Loop
:GBorMore
:: zuerst die letzten 6 Stellen abschneiden,
set "G=%G:~0,-6%"
:: dann die letzten 3 Stellen als Dezimalanteil behandeln und
set "D=%G:~-3%
:: den Teil davor als ganzzahligen Anteil festlegen
set "G=%G:~0,-3%
:: sowie die Einheit auf GB setzen
set E=4
:Done
for /f "tokens=%N%" %%i in ("%Einh%") do set "E=%%i"
:: im neuen Namen nur die ersten beiden Stellen des Dezimalanteils verwenden
set "NameNeu=%~n1_%G%.%D:~0,2%%E%%~x1"
echo ren %1 "%NameNeu%"
goto :eof
dir
" verwendet wird, lässt sich das auch noch etwas kürzer schreiben:@echo off & setlocal
set "Ordner=C:\TEST"
pushd "%Ordner%"
for /f "delims=" %%i in ('dir /b /ad') do call :ProcessFile "%%i"
popd
pause
goto :eof
:ProcessFile
for /f "tokens=3-7 delims=. " %%a in ('dir /s /w %1^|findstr "Datei(en)"') do (
set "G=%%a"
set "D=%%b"
if "%%b"=="Bytes" (set "D=000" & set "E=B")
if "%%c"=="Bytes" set "E=KB"
if "%%d"=="Bytes" set "E=MB"
if "%%e"=="Bytes" set "E=GB"
if "%%f"=="Bytes" set "E=TB"
)
:: im neuen Namen nur die ersten beiden Stellen des Dezimalanteils verwenden
set "NameNeu=%~n1_%G%.%D:~0,2%%E%%~x1"
echo ren %1 "%NameNeu%"
goto :eof
bastla
Aloha,
Und ich hoffe, es gibt keine Verknüpfungen zu denen ...
Habe mich insgeheim bei dem anderen Thread schon gefragt: Warum macht/will man so etwas? =)
greetz André
edit: ... als zweite
Und ich hoffe, es gibt keine Verknüpfungen zu denen ...
So hätte ich sofort den Überblick, über die Größe
... die sich häufig ändern wird ...und kann anschließend daraus Dateien (txt´s) anlegen die dann so aussehen.
... wo wir dann bei bastlas Einspruch wären: Warum Ordner umbenennen?(KB,MB,GB,TB hätte ich gern als Angabe, die aber Sinnvoll automatisch gewählt wird, je nach dem, wie groß die Datei der Ordner ist.)
Und wer wählt sinnvoll, wann das Umbenennen immer wieder aktualisiert wird? (ändern sich eigentlich deine Dateien auch mal [Bearbeitung von Bildern o.Ä.)Habe mich insgeheim bei dem anderen Thread schon gefragt: Warum macht/will man so etwas? =)
greetz André
edit: ... als zweite
for
-Schleife im Prozess selbst ... natürlich *rolleyes* fragt mich bloß nicht, was ich heute versucht habe *lmw*