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

Printed on: April 28, 2024 at 17:04 o'clock

Member: rubberman
rubberman May 02, 2010 at 21:39:20 (UTC)
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
Member: xstevenx
xstevenx May 03, 2010 at 14:11:01 (UTC)
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