Batch ordner umbenennen und nummerieren
Moje
ähm mit dem Befehl
kann man ja einen Ordner umbennen.
Kann man jetzt Z.b: wenn man unter K drei Ordner liegen hat( z.b Neuer Ordner 1 ,Neuer Ordner 2 ,Neuer Ordner 3)
die umbennen lassen in "irgend was 1" "irgend was 2" "irgend was 3" ?
Habe was mit "set counter" gelesen aber ich weiß nicht wie ich das da rein machen soll/kann und, ob das überhaupt geht.
Mfg
Mdh
ähm mit dem Befehl
@echo off & setlocal
set "Ordner=K:\"
set Jahr=2008
set Repl=$
pushd "%Ordner%"
for /d %%i in (*.*) do call :ProcessDir "%%i"
popd
goto :eof
:ProcessDir
set "NameAlt=%~1"
call set "NameAlt=%%NameAlt:.%Jahr%=%Repl%%%"
for /f "delims=%Repl%" %%n in ("%NameAlt%") do set "NameNeu=%irgend etwas"
set "NameNeu=%NameNeu:.= %"
if not exist "%NameNeu%" ren %1 "%NameNeu%"
goto :eof
Kann man jetzt Z.b: wenn man unter K drei Ordner liegen hat( z.b Neuer Ordner 1 ,Neuer Ordner 2 ,Neuer Ordner 3)
die umbennen lassen in "irgend was 1" "irgend was 2" "irgend was 3" ?
Habe was mit "set counter" gelesen aber ich weiß nicht wie ich das da rein machen soll/kann und, ob das überhaupt geht.
Mfg
Mdh
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Kommentar vom Moderator Biber am 07.08.2009 um 20:45:45 Uhr
<OT>
Somit sind wir jetzt bei #610.
</OT>
.. kann man ja einen Ordner umbennen.
...Habe was mit "set counter" gelesen aber ich weiß nicht wie ich das da rein machen soll/kann und, ob das überhaupt geht.
Das war nicht "set counter", sondern "Set /a RunningGagCounter+=1"Somit sind wir jetzt bei #610.
</OT>
Content-ID: 122290
Url: https://administrator.de/forum/batch-ordner-umbenennen-und-nummerieren-122290.html
Ausgedruckt am: 03.05.2025 um 17:05 Uhr
2 Kommentare
Neuester Kommentar
Hallo My-darkest-hate und willkommen im Forum!
Unter der Annahme, dass der erste Ordner nur zufällig "Neuer Ordner 1" und nicht "DerOrdnerOhneZahl" heißt, könnte das so gehen:
Falls die laufenden Nummern nicht 4-stellig, sondern zB nur zweistellig sein sollen, einfach im gesamten Batch "4" durch "2" ersetzen (ok, es genügt auch in den Zeilen 13 und 14
).
Und übrigens: Die Umbenamsung erfolgt ohne Rückfrage und für alle Unterordner des Startordners (im Beispiel "K:\"), also bitte zunächst Testdaten verwenden ...
Grüße
bastla
Unter der Annahme, dass der erste Ordner nur zufällig "Neuer Ordner 1" und nicht "DerOrdnerOhneZahl" heißt, könnte das so gehen:
@echo off & setlocal
set "Ordner=K:\"
set "NameNeu=irgend etwas"
pushd "%Ordner%"
set /a counter=1000000
for /f "delims=" %%i in ('dir /b /ad /on 2^>nul') do call :ProcessDir "%%i"
popd
goto :eof
:ProcessDir
set /a counter+=1
if exist "%NameNeu% %counter:~-4%" goto :ProcessDir
ren %1 "%NameNeu% %counter:~-4%"
goto :eof
Und übrigens: Die Umbenamsung erfolgt ohne Rückfrage und für alle Unterordner des Startordners (im Beispiel "K:\"), also bitte zunächst Testdaten verwenden ...
Grüße
bastla