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
Please also mark the comments that contributed to the solution of the article
Kommentar vom Moderator Biber am Aug 07, 2009 um 18: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-Key: 122290
Url: https://administrator.de/contentid/122290
Printed on: April 19, 2024 at 13:04 o'clock
2 Comments
Latest comment
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