damnine
Goto Top

Script um mkv Dateien wie Ordner zu benennen

Hallo,

ich habe folgendes Problem. Ich besitze eine Sammlung an Filmen. Die Filme liegen auf meiner Festplatte im Ordner Filme. Jeder Film hat wiederum einen eigenen Ordner. Diese Ordner sind nach Filmtitel korrekt benannt (so wie ich es haben will). Leider weisen die Filmdateien der einzelnen Ordner meist abgekürzte Namen auf.

Ich benötige nun ein Script (vielleicht VBA) welches der mkv Datei den Namen des Ordners zuweist in dem sie sich befindet. Wichtig ist das im Script der Dateityp ausgewählt werden kann. So das nur die Dateitypen umbenannten werden, die der Auswahl entsprechen. Denn in denn einzelnen Film-Ordner befinden sich auch andere Dateien die nicht umbenannt werden sollen.

Kennt jemand ein Script was diese Aufgabe erfüllen kann?

Content-Key: 193388

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

Ausgedruckt am: 29.03.2024 um 05:03 Uhr

Mitglied: bastla
bastla 27.10.2012 aktualisiert um 22:06:11 Uhr
Goto Top
Hallo damnine und willkommen im Forum!

Wenn es nur eine Ordnreebene unter "Filme" gibt, etwa so:
@echo off & setlocal
set "Basis=D:\Filme"  
set "Typ=mkv"  

for /d %%o in ("%Basis%\*") do for /f "delims=" %%d in ('dir /b "%%o\*.%Typ%"') do echo ren "%%o\%%d" "%%~nxo%%~xd"  
pause
Solange das das "echo" vor dem "ren" steht, wird nur angezeigt, was passieren wird, wenn das "echo" nicht mehr dort steht.

Sollten sich mehrere Dateien des entsprechenden Typs in einem Ordner befinden, kann natürlich nur die erste davon umbenannt werden ...

Grüße
bastla
Mitglied: damnine
damnine 28.10.2012 um 17:13:29 Uhr
Goto Top
Hallo bastla,

danke für die Antwort. Wie kann ich den von dir bereitgestellten Code ausführen?
Mitglied: bastla
bastla 28.10.2012 um 20:39:10 Uhr
Goto Top
Hallo damnine!

Da es sich um einen Batch handelt, in einer Datei mit dem Typ ".cmd" speichern (falls Du den Windows-Editor verwendest, vor dem Speichern den Dateityp auf "Alle Dateien" stellen) und per Doppelklick ausführen.

Als Ergebnis siehst Du dann, wie oben angemerkt, zunächst eine Simulation, indem die Umbenenn-Befehle nur angezeigt werden.

Grüße
bastla
Mitglied: damnine
damnine 28.10.2012 um 20:50:42 Uhr
Goto Top
Hallo bastla,

die Simulation funktioniert. Wenn ech jedoch das echo von ren entferne funktioniert die Batchdatei nicht. Im Commandfenster wird angegeben Datei nicht gefunden.
Grüße
Mitglied: bastla
bastla 28.10.2012 aktualisiert um 21:07:02 Uhr
Goto Top
Hallo damnine!

Soferne alle Anführungszeichen noch dort sind, wo ich sie oben gesetzt habe, sollte das Umbenennen auch funktionieren ...

Um dem Batch beim Ablauf "zusehen" zu können, kannst Du aus dem "echo off" in der ersten Zeile ein "echo on" machen - so wird jeder Befehl zunächst einmal angezeigt und danach ausgeführt, und Du kannst besser erkennen, wo / wie der Fehler auftritt ...

Grüße
bastla
Mitglied: damnine
damnine 28.10.2012 um 21:19:16 Uhr
Goto Top
Hallo bastla,

alle Funktioniert super. Ich danke dir vielmals.

Kannst du mir eine Batch Datei schreiben die in den Filmordnern alle xml Dateien löscht die nicht "movie.xml" heißen. Außerdem sollen alle jpg Dateien gelöscht werden die den Namen "mymovies-back.jpg" und "mymovies-front.jpg" tragen.

Grüße
Mitglied: bastla
bastla 28.10.2012 um 21:36:59 Uhr
Goto Top
Hallo damnine!

Das ist zwar an sich eine andere Fragestellung, aber die paar Zeilen hänge ich hier trotzdem noch an:
@echo off & setlocal
set "Basis=D:\Filme"  
set "Typ=xml"  
set "Ausnahme=movie.xml"  

for /f "delims=" %%d in ('dir /s/b/a-d "%Basis%\*.%Typ%"^|findstr /iv "%Ausnahme%"') do echo del "%%d"  
pause
bzw
@echo off & setlocal
set "Basis=D:\Filme"  
set "Dateien=mymovies-back.jpg mymovies-front.jpg"  

pushd "%Basis%  
for /f "delims=" %%d in ('dir /s/b/a-d %Dateien%') do echo del "%%d"  
popd
pause
Beides wie oben mit "echo" zum Testen ...

Grüße
bastla
Mitglied: damnine
damnine 30.10.2012 um 20:47:46 Uhr
Goto Top
Hallo bastla,

danke für deine schnelle Hilfe. Alles hat wunderbar geklappt. Großes Lob und nochmals vielen Dank.

Gruß