my-darkest-hate
Goto Top

Batch ordner umbenennen und nummerieren

Moje
ä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 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
Kommentar vom Moderator Biber am Aug 07, 2009 um 18:45:45 Uhr
<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

Member: bastla
bastla Aug 07, 2009 at 21:12:37 (UTC)
Goto Top
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:
@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
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 face-wink).

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
Member: My-darkest-hate
My-darkest-hate Aug 08, 2009 at 08:26:00 (UTC)
Goto Top
Das klappt, vielen dank face-smile

Gruf
Mdh