xstevenx
Goto Top

TV-Aufnahmeumbenennung mit Batch

Hallo,

ich bin neu hier und habe ein Problem.

Und zwar will ich aus einer EPG Informationsdatei den Titel einer Serie und die Folgennummer (bzw.) Name auslesen und dann die Aufnahme umbenennen.
Bei mir wird zu jeder Aufnahme eine EPG Informationsdatei (.txt) mit dem gleichen Namen erstellt.
Bsp.:
    ''Serie_MM-DD_Sender.mpg'' und  
    ''Serie_MM-DD_Sender.txt''  
 
(MM steht für Monat und DD für Tag; aber ich glaub das wisst ihr)
Alle Aufnahmen sowie die Info-Datei werden unter "Eigene Dateien\TV-Aufnahme" gespeichert.
In dem Ordner befindet sich nicht nur diese eine Aufnahme, sondern auch noch viele andere.
Eine Info-Datei ist nach dem Schema aufgebaut:

[General]
Version=1.0
[Media]
Created=DD.MM.JJJJ HH:MM:SS
Channel=Sender

Id=7681
Date=DD.MM.JJJJ
Time=HH:MM:SS
Duration=HH:MM:SS 				
Title=Serientitle				
Info=Folgennummer bzw. Folgenname
Description=Beschreibung... |USA 2007|[4:3]|[stereo] [deu]
Charset=1
Content=0
[Stats]
Errors=7
Size=1,36 GB (1463791025 bytes)
Avr. Datarate=0,337 MB/s
Device=DTV-DVBS 878 Digital Tuner Filter
 

Jetzt will ich, dass alle Aufnahmen aus diesem Ordner umbenannt werden. Nach diesem Schema: "Serienname" - "Folgennummer bzw. Folgenname".mpg
Allerdings ist es möglich, dass schon Aufnahmen mit dem gleichen Namen vorhanden sind; indem Fall muss nur ein "_2" drangehangen werden. Achso, die Serien heißen nicht immer gleich. Bei einigen Serien kann es vorkommen, dass kein Folgenname angegeben ist; In diesem Fall müsste dann der erste Satz der Beschreibung den Folgenamen ersetzen.
Ich hab schon ein bisschen mit Batch rumprobiert, bin aber zu keinem wirklichen Ergebnis gekommen. Wenn ihr mir helfen könnet... Das wäre super…

Dank im Voraus

Content-Key: 141930

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

Ausgedruckt am: 29.03.2024 um 00:03 Uhr

Mitglied: rubberman
rubberman 02.05.2010 um 23:39:20 Uhr
Goto Top
Hallo xstevenx,

willkommen im Forum.

Davon ausgehend, dass nur Info-Dateien als *.txt Dateien vorhanden sind und auch nicht bereits eine Datei mit dem Index ..._2.mpg vorhanden ist, sollte es etwa so funktionieren

@echo off &setlocal

for /f "delims=" %%a in ('dir /a-d /b *.txt') do (  
  set "name=%%~na"  
  call :sub
)

pause
goto :eof

:: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:sub
set "Title="  
set "Info="  
set "Description="  

for /f "delims=|" %%b in ('findstr /b /i "Title= Info= Description=" "%name%.txt"') do set "%%b"  
if not defined Info set "Info=%Description%"  
set "newName=%Title%-%Info%"  
if exist "%newName%.mpg" set "newName=%newName%_2"  
ren "%name%.mpg" "%newName%.mpg"  
goto :eof

Grüße
rubberman
Mitglied: xstevenx
xstevenx 03.05.2010 um 16:11:01 Uhr
Goto Top
Hi,

das klappt ja wirlich. Hätte ich ja nie gedacht. Danke

bloß, einen kleinen Fehler hab ich gefunden:

set "newName=%Title%-%Info%"

muss heißen

set "newName=%Title% - %Info%"

Aber das is schon i.O.
thx