bat: rekursives Umbenennen von Dateien

bat: rekursives Umbenennen von Dateien

Ich möchte alle *.doc-Dateien einer bestimmten Partition rekursiv in *.txt umbenennen. Folgendes habe ich erfolglos versucht...

@echo off
echo +-------------------------------------------+
echo :         exec cmd in every subdir          :
echo +-------------------------------------------+

FOR /R ".\" %%F IN (.) DO (
    ren "*.doc" "*.txt"
)

@pause

Was mache ich falsch?


Update: Das hat bei mir funktioniert ... Ich führe dies aus, indem ich im MS File Explorer (Win7) auf die Datei klicke und .bat als ausführbare Datei festgelegt habe. Ich habe es nicht über eine Eingabeaufforderung versucht – ich frage mich, ob dies einen Unterschied macht?

@echo off

FOR /R ".\" %%F IN (.) DO (
 ren "%%F\*.doc" "*.txt"
)
@pause

Antwort1

Sie haben mehrere kleine Fehler in der Batchdatei.

Hier ist eine Version, die über die Befehlszeile funktioniert:

FOR /R "." %F IN (.) DO ren "%F\*.doc" "*.txt"

Und in einer .batDatei:

FOR /R "." %%F IN (.) DO ren "%%F\*.doc" "*.txt"

Getestet unter Windows 7 64-Bit:

Bildbeschreibung hier eingeben

verwandte Informationen