Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Text auslesen, falls Name vorhanden, Datei(en) verschieben

Frage Entwicklung Batch & Shell

Mitglied: OOmatrixOO

OOmatrixOO (Level 1) - Jetzt verbinden

13.02.2015, aktualisiert 14.02.2015, 662 Aufrufe, 2 Kommentare

Hallo.
Ich lasse mir Informationen von Filmdateien auslesen und in eine Textdatei speichern.

Das sieht so aus:

01.
File 'D:\Movies\2014.mkv ': container: Matroska [duration:7922976000000 segment_uid:a3fcdea6650c1200852f162d0c3a044f is_providing_timecodes:1] 
02.
Track ID 0: video (MPEG-4p10/AVC/h.264) [number:1 uid:3790950161031776682 codec_id:V_MPEG4/ISO/AVC codec_private_length:43 codec_private_data:0164001effe1001b6764001eacd940ec33a6a020202800000300080015f90078b16cb001000568ebecb22c language:und pixel_dimensions:944x400 display_dimensions:944x400 default_track:1 forced_track:0 enabled_track:1 packetizer:mpeg4_p10_video default_duration:41999999] 
03.
Track ID 1: audio (AC3/EAC3) [number:2 uid:14647068660427749778 codec_id:A_AC3 codec_private_length:0 language:ger default_track:1 forced_track:0 enabled_track:1 default_duration:32000000 audio_sampling_frequency:48000 audio_channels:6] 
04.
Track ID 2: subtitles (SubRip/SRT) [number:3 uid:10419281502289507242 codec_id:S_TEXT/UTF8 codec_private_length:0 language:und default_track:1 forced_track:0 enabled_track:1] 
05.
File 'D:\Movies\fun.mkv ': container: Matroska [duration:5982016000000 segment_uid:8837aa83709ef1fea2718eebbd640b5b is_providing_timecodes:1] 
06.
Track ID 0: video (MPEG-4p10/AVC/h.264) [number:1 uid:16048750410252151224 codec_id:V_MPEG4/ISO/AVC codec_private_length:43 codec_private_data:0164001effe1001b6764001eacd940ec33a6a020202800000300080015f90078b16cb001000568ebecb22c language:und pixel_dimensions:944x400 display_dimensions:944x400 default_track:1 forced_track:0 enabled_track:1 packetizer:mpeg4_p10_video default_duration:41999999] 
07.
Track ID 1: audio (AC3/EAC3) [number:2 uid:3544243278998007431 codec_id:A_AC3 codec_private_length:0 language:ger default_track:1 forced_track:0 enabled_track:1 default_duration:32000000 audio_sampling_frequency:48000 audio_channels:6] 
08.
File 'D:\Movies\Test.mkv ': container: Matroska [duration:2584208000000 segment_uid:c0dcb4213eb3849d22da7c98aa0879f6 is_providing_timecodes:1] 
09.
Track ID 0: video (MPEG-4p10/AVC/h.264) [number:1 uid:1 codec_id:V_MPEG4/ISO/AVC codec_private_length:46 codec_private_data:0164001fffe1001d6764001facc8602d0d7e7c05a808080a000003000200057e401e30633401000668e9786cb22c language:und pixel_dimensions:720x404 display_dimensions:720x404 default_track:1 forced_track:0 enabled_track:1 packetizer:mpeg4_p10_video default_duration:41666666] 
10.
Track ID 1: audio (AAC) [number:2 uid:2 codec_id:A_AAC codec_private_length:5 codec_private_data:119056e500 language:ger track_name:Stereo default_track:1 forced_track:0 enabled_track:1 audio_sampling_frequency:48000 audio_channels:2 tag_language:ger] 
11.
Track ID 2: audio (AAC) [number:3 uid:3 codec_id:A_AAC codec_private_length:5 codec_private_data:119056e50 language:eng track_name:Stereo default_track:0 forced_track:0 enabled_track:1 audio_sampling_frequency:48000 audio_channels:2 tag_language:eng] 
12.
Track ID 3: subtitles (SubStationAlpha) [number:4 uid:4 codec_id:S_TEXT/ASS codec_private_length:482 codec_private_data:5b53637269707420496e666f5d0d0a536372697074547970653a2076342e30302b0d0a436f6c6c6973696f6e733a204e6f726d616c0d0a506c6179526573583a20313931360d0a506c6179526573593a20313037360d0a54696d65723a203130302e300d0a577261705374796c653a20300d0a0d0a5b56342b205374796c65735d0d0a466f726d61743a204e616d652c20466f6e746e616d652c20466f6e7473697a652c205072696d617279436f6c6f75722c205365636f6e64617279436f6c6f75722c204f75746c696e65436f6c6f75722c204261636b436f6c6f75722c20426f6c642c204974616c69632c20556e6465726c696e652c20537472696b654f75742c205363616c65582c205363616c65592c2053706163696e672c20416e676c652c20426f726465725374796c652c204f75746c696e652c20536861646f772c20416c69676e6d656e742c204d617267696e4c2c204d617267696e522c204d617267696e562c20456e636f64696e670d0a5374796c653a2044656661756c742c417269616c2c37312c264830304646464646462c264830304646464646462c264830303046304630462c264830303046304630462c302c302c302c302c3130302c3130302c302c302e30302c312c322c332c322c32302c32302c32302c300d0a00 language:eng default_track:0 forced_track:0 enabled_track:1 tag_language:eng] 
13.
Track ID 4: subtitles (SubStationAlpha) [number:5 uid:5 codec_id:S_TEXT/ASS codec_private_length:482 codec_private_data:5b53637269707420496e666f5d0d0a536372697074547970653a2076342e30302b0d0a436f6c6c6973696f6e733a204e6f726d616c0d0a506c6179526573583a20313931360d0a506c6179526573593a20313037360d0a54696d65723a203130302e300d0a577261705374796c653a20300d0a0d0a5b56342b205374796c65735d0d0a466f726d61743a204e616d652c20466f6e746e616d652c20466f6e7473697a652c205072696d617279436f6c6f75722c205365636f6e64617279436f6c6f75722c204f75746c696e65436f6c6f75722c204261636b436f6c6f75722c20426f6c642c204974616c69632c20556e6465726c696e652c20537472696b654f75742c205363616c65582c205363616c65592c2053706163696e672c20416e676c652c20426f726465725374796c652c204f75746c696e652c20536861646f772c20416c69676e6d656e742c204d617267696e4c2c204d617267696e522c204d617267696e562c20456e636f64696e670d0a5374796c653a2044656661756c742c417269616c2c37312c264830304646464646462c264830304646464646462c264830303046304630462c264830303046304630462c302c302c302c302c3130302c3130302c302c302e30302c312c322c332c322c32302c32302c32302c300d0a00 language:eng default_track:0 forced_track:0 enabled_track:1 tag_language:eng]
Nun hab ich folgende Idee:
Per Batch soll in der Datei nach language:eng track_name gesucht werden.
Wenn in der Datei language:eng track_name vorhanden ist, soll 3 Zeilen weiter oben (bei File) der Dateiname / Pfad ausgelesen werden und die Datei in einen anderen Ordner verschoben werden. Es können sich um mehrere Dateien handeln, nicht wie hier im Beispiel nur eine.

Wäre dies überhaupt so machbar?

Vielen Dank.
Mit freundlichen Grüßen.

Mitglied: rubberman
LÖSUNG 13.02.2015, aktualisiert 14.02.2015
Hallo OOmatrixOO.

soll 3 Zeilen weiter oben
... und es sind ganz sicher immer 3 Zeilen?

Teste:
01.
@echo off &setlocal 
02.
set "textfile=movies.txt" 
03.
set "search=language:eng track_name" 
04.
set "newfolder=D:\Movies_eng" 
05.
 
06.
if not exist "%newfolder%\" md "%newfolder%" 
07.
 
08.
setlocal EnableDelayedExpansion 
09.
 
10.
set "found=" &set "num=" 
11.
for /f "delims=:" %%i in ('type "!textfile!"^|findstr /nc:"!search!"') do ( 
12.
  set /a "num=%%i - 3" 
13.
  set "found=!found!!num!: " 
14.
15.
 
16.
if not defined found exit /b 
17.
 
18.
for /f "tokens=2 delims='" %%i in ('type "!textfile!"^|findstr /n "^^^"^|findstr /b "!found!"') do ( 
19.
  endlocal 
20.
  set "file=%%i" 
21.
  setlocal EnableDelayedExpansion 
22.
  if "!file:~-1!"==" " ( 
23.
    move "!file:~,-1!" "!newfolder!\" 
24.
  ) else ( 
25.
    move "!file!" "!newfolder!\" 
26.
27.
)
Grüße
rubberman
Bitte warten ..
Mitglied: OOmatrixOO
14.02.2015 um 15:39 Uhr
Hallo.
Danke dir. Funktioniert auf Anhieb. Perfekt.

Mit freundlichen Grüßen
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Heiß diskutierte Inhalte
Windows Server
Outlook Verbindungsversuch mit Exchange (15)

Frage von xbast1x zum Thema Windows Server ...

Microsoft Office
Keine Updates für Office 2016 (12)

Frage von Motte990 zum Thema Microsoft Office ...

Grafikkarten & Monitore
Tonprobleme bei Fernseher mit angeschlossenem Laptop über HDMI (11)

Frage von Y3shix zum Thema Grafikkarten & Monitore ...