pago159
Goto Top

Dateiendungen im Batchbetrieb mit Subfoldern umbenennen

Hallo,

Ich habe mal wieder ein kleines Problem:

Ich muss jedemenge Dateiendungen umbenennen von m2ts in mpeg
Das Problem ist, diese Dateien befinden sich alle in einem Ordner, in welchem es aber mehrere Hundert Unterverzeichnisse gibt.
Mein Batch-Datei bekommt es leider nur hin in diesem einen Verzeichnis, in welchem auch die Batch liegt die Dateien um zu benennen.

Hier meine Batch, welche zusammengesucht ist,
da ich auf diesem Gebiet leider gar keine erfahrungen habe:

@echo off&setlocal
set dir=H:\
set File=*.m2ts
set endung=.mpeg
for /r "%dir%" %%i in ("%file%") do Call :Sub "%%~fi" "%%~ni"  
Pause
goto :EOF
:Sub
rename *.m2ts *.mpeg

Könnte mir jemand auf die sprünge Helfen, wo mein Fehler liegt?

Lg Grapper

Content-ID: 166225

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

Ausgedruckt am: 21.11.2024 um 21:11 Uhr

bastla
bastla 13.05.2011 um 12:38:44 Uhr
Goto Top
Hallo Grapper!

Ich tendiere eher zu dieser (ungesteten) Variante (die muss nicht jede Datei einzeln anfassen):
@echo off & setlocal
set dir=H:\
set File=*.m2ts
set endung=.mpeg
for /f "delims=" %%i in ('dir /s /b /ad "%dir%"^|findstr /v /c:"System Volume Information"') do ren "%%i\%File%" "*%endung%"  
Grüße
bastla
[Edit] "System Volume Information" ausgeschlossen [/Edit]
60730
60730 13.05.2011 um 12:41:04 Uhr
Goto Top
Moin,

for /r h:\ %a in (*.m2ts) do echo echo "ren %~dpna.m2ts %~dpna.mpeg">>renametheholystuff.cmd

Gruß


edit:
too late and maybe to short
/edit
Pago159
Pago159 13.05.2011 um 12:41:27 Uhr
Goto Top
Super, die Umbenennung läuft,
allerdings kommt die Meldung:

"System konnte die angegebene Datei nicht finden"

Kannst du mir vll sagen, woran dies liegen könnte?
bastla
bastla 13.05.2011 um 12:46:31 Uhr
Goto Top
Hallo Grapper!

Vielleicht daran, dass die angegebene(n) Datei(en) nicht gefunden wurden? face-wink Es werden schließlich alle Ordner durchforstet und auf Verdacht versucht, die Umbenennung durchzuführen.

Wenn die Meldung stört:
for /f "delims=" %%i in ('dir /s /b /ad "%dir%"^|findstr /v /c:"System Volume Information"') do ren "%%i\%File%" "*%endung%" 2>nul
Grüße
bastla
Pago159
Pago159 13.05.2011 um 12:52:20 Uhr
Goto Top
Super, danke für die schnelle Hilfe,
jetzt ist mir allerdings gerade noch etwas aufgefallen,

der Befehl

<code<
set dir=h:\


setzt ja das Laufwerk, auf welchem gesucht werden soll fest.
Gibt es auch die möglichkeit dieses Laufwerk abzufragen,
Also in der art:

Welches Laufwerk soll nach *.m2ts Dateien durchsucht und umbenannt werden?

Lg Grapper
60730
60730 13.05.2011 um 12:54:31 Uhr
Goto Top
moin,

dosboxxe doch mal nach set /?

Gruß und grünen Haken dranmalen.
bastla
bastla 13.05.2011 um 12:55:13 Uhr
Goto Top
Hallo Grapper!
set /p dir=Welches Laufwerk soll nach *.m2ts Dateien durchsucht und umbenannt werden? 
Grüße
bastla