puscher
Goto Top

Ordner umbenennen langsamer

Hallo!


Ich brauche eine Batch die mir alle Ordner in einem bestimmten Pfad umbenennt (ein ".exe" muß an jedem Ordner dran)

Die passende Batch habe ich auch schon:

for /D %%f in (d:\tmp\*) do rename "%%f" "%%~nxf.exe"

Nun hab ich allerdings folgendes Problem, denn an manchen Ordnern führt er die Aktion doppelt aus, sprich
diese heißen *.exe.exe Wahrscheinlich läuft das ganze zu schnell durch. Wenn ich statt ".exe" z.B. ".testerxx" schreibe funktioniert alles reibunglos.


Gruß

Content-ID: 208722

Url: https://administrator.de/contentid/208722

Ausgedruckt am: 23.11.2024 um 09:11 Uhr

colinardo
colinardo 27.06.2013 aktualisiert um 10:26:49 Uhr
Goto Top
Hallo Puscher,
das Phänomen kommt daher das während des Umbenennens für die Schleife quasi ein neuer Ordner hinzukommt der vorher noch nicht da war(Deswegen das doppelte .exe.exe). Das kannst du z.B. mit folgendem Script umgehen:

@echo off
set docpath=C:\Temp\target\*
for /D %%f in (%docpath%) DO @(
	echo "%%f"="%%~nxf.exe" >>rename.txt  
)
for /f "tokens=1,2 delims==" %%k IN (rename.txt) DO @(  
	rename %%k %%l
)
del /q rename.txt >nul

Grüße Uwe
Puscher
Puscher 27.06.2013 um 10:34:31 Uhr
Goto Top
danke funktioniert jetzt reibungslos!
Endoro
Endoro 27.06.2013 um 10:36:19 Uhr
Goto Top
Hallo,

mein Vorschlag:

for /f "delims=" %%f in ('dir /b /ad "d:\tmp\*"') do rename "%%~ff" "%%~nxf.exe"  

lg,
colinardo
colinardo 27.06.2013 um 13:15:49 Uhr
Goto Top
Noch zur Info: Bitte markiere den Beitrag als gelöst. Siehe dazu die FAQ
Merci