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

Wie generiere ich eine Pfadangabe zu Dateien mit vob endung für ein inputscript um Handbrake zu automatisieren

Frage Entwicklung Batch & Shell

Mitglied: Killer-Loop

Killer-Loop (Level 1) - Jetzt verbinden

12.01.2011 um 21:12 Uhr, 3084 Aufrufe, 10 Kommentare

Hallo erstmal, ^^
ich hab hier ne menge toller scripts gelesen und dachte mir hier kann mir sicher einer helfen. Danke schon mal für alles.

Also nun zu meinem eigentlichen Problem:
Ich habe mir ein Script geschrieben um eingentlich alle einstellungen für Handbrake zu Automatisieren (Wers nicht kennt ein ziemlich praktischer Video Encodierer ^^)

Nun müsste ich nur noch das Problem mit der generierung der Eingangsverzeichnisse lösen auf die ich mit mein Script zugreifen kann.
Ich hätte mir gedacht dass ich alle Ordner die vob files beinhalten in eine Datei schreibe und die ich dann zeilenweise verarbeite.

Das ganze für ISO files zu lösen war eigentlich kein Probelem da ich mit dir /b/a-d /s *.iso >> dateien.txt eine Datei generieren konnte die ich gebrauchen konnte.
Jetzt würde ich das ganze auch noch für die vob files lösen wollen dazu bräuchte ich was mit dem ich den Pfad zur Datei hin in eine textfile schreiben könnte, außerdem sollte die Pfadangabe nur einmal auftauchen, was sie nicht tun würde wenn ich wieder einfach nen befehl mit dir *.vob mache da ja mehrer vob files in einem dvd ordner sind.

Ich hätte mir überlegt dir /b/a-d /s *.vob >> dateien.txt
in eine Datei zu schreiben das ganze mit einer for schleife auszulesen mit "delimes=\" zu seperieren und den letzten tokken zu löschen.
Leider krieg ich das nicht mit der syntax gebacken...... heul ......
und dann wäre ja immer noch das Problem das die Pfadangabe nur einmal in der textdatei auftauchen soll ......


danke schon mal für die hilfe

cya
Mitglied: 60730
12.01.2011 um 21:30 Uhr
moin,

schreib doch mal deine bisherigen versuche auf?

Demos für dich zum spielen....

01.
for /f %a in ('dir /b /s laufwerk:\pfad\*.vob') do echo %a
...liefert "alles"
01.
for /f %a in ('dir /b /s laufwerk:\pfad\*.vob') do echo %a>>laufwerk:\pfad\text.txt
... in eine Datei

01.
for /f %a in ('dir /b /s laufwerk:\pfad\*.vob') do echo %~dpa>>laufwerk:\pfad\text.txt
..nur den Pfad
01.
for /f %a in ('dir /b /s laufwerk:\pfad\*.vob') do echo %~nxa>>laufwerk:\pfad\text.txt
..nur den Dateinamen
01.
findstr "wert" Datei
...findet den wert in der Datei (oder auch nicht)
01.
|| bedeutet unwahr 
02.
&& bedeutet wahr
01.
for /f %a in ('dir /b /s laufwerk:\pfad\*.vob') do findstr "%~dpa" laufwerk:\pfad\text.txt || echo "%~dpa" >>laufwerk:\pfad\text.txt && echo %~nxa>>laufwerk:\pfad\text.txt
Ich hoffe mit diesem Satz von ungetesteten Schnippseln habe ich dich in die richtige Richtung geschubst - weiteres in der schwarzen Dosbox unter
for /?

Gruß
Bitte warten ..
Mitglied: bastla
12.01.2011 um 21:36 Uhr
... und für den Fall, dass es in den Pfaden auch mal Leerzeichen gäbe:
for /f "delims=" %a in ('dir /b /a-d /s "laufwerk:\pfad\*.vob"') do echo %a
und dann auch:
findstr /c:"wert" "Datei"
- daher:
for /f "delims=" %a in ('dir /b /a-d /s "laufwerk:\pfad\*.vob"') do findstr /i /x /c:"%~dpa" "laufwerk:\pfad\text.txt">nul || >>"laufwerk:\pfad\text.txt" echo %~dpa 
Damit "findstr" beim ersten Pfad kein Problem hat, musst Du dafür sorgen, dass es bereits eine "laufwerk:\pfad\text.txt" gibt - etwa durch
type nul>"laufwerk:\pfad\text.txt"
Falls Dir jetzt aufgefallen ist, wie oft hier "laufwerk:\pfad\text.txt" vorkommt, wird (hoffentlich) auch bei Dir der Wunsch entstehen, dafür eine Variable zu verwenden ...

Grüße
bastla

P.S.: Die abschließenden "\" in den gespeicherten Pfaden sollten eigentlich nicht stören ... [Edit] Tun sie aber doch, wenn auch nicht die aus den gespeicherten Pfaden... [Edit]
Bitte warten ..
Mitglied: Killer-Loop
14.01.2011 um 06:09 Uhr
Danke für die Schnelle Antwort!!!
Bin leider noch nicht dazu gekommen mich mit den paar sachen zu Spielen.

cya
Bitte warten ..
Mitglied: Killer-Loop
15.01.2011 um 21:36 Uhr
Hoi,
also ich hab jetzt mal nen bischen mit den sachen gespielt.....
aber irgend wie krieg ich des nicht gebacken wenn ich auch nur eine der sachen probiere und die pfadangaben anpasse bricht das script ab......

irgend ne idee

cya
Bitte warten ..
Mitglied: bastla
15.01.2011 um 21:41 Uhr
Hallo Killer-Loop!

Poste doch einfach einmal Deinen aktuellen Stand ...

... wobei ich zugeben muss, dass mein "P.S.:" von oben leider nicht ganz haltbar ist - daher wird's doch etwas aufwändiger:
01.
@echo off & setlocal 
02.
set "Basis=D:\Dein Videoordner" 
03.
set "Liste=D:\Ordnerliste.txt" 
04.
 
05.
type nul>"%Liste%" 
06.
for /f "delims=" %%a in ('dir /b /a-d /s "%Basis%\*.vob" 2^>nul') do set "Pfad=%%~dpa" & call :ProcessFolder 
07.
goto :eof 
08.
 
09.
:ProcessFolder 
10.
set "Pfad=%Pfad:~,-1%" 
11.
findstr /i /x /c:"%Pfad:\=\\%" "%Liste%">nul || >>"%Liste%" echo %Pfad% 
12.
goto :eof
Als Hinweis: Da mit "\" in einem Suchbegriff das folgende Zeichen "maskiert" wird, muss, um tatsächlich nach "\" zu suchen, dieser verdoppelt werden ...

Grüße
bastla
Bitte warten ..
Mitglied: Biber
15.01.2011 um 21:45 Uhr
Nachtrag von mir:

Sei froh, dass bastla vor mir reagiert hat - mein Kommentar wäre etwas anders ausgefallen bei deiner Fehlerbeschreibung gefolgt von

irgend ne idee


Grüße
Biber
Bitte warten ..
Mitglied: Killer-Loop
16.01.2011 um 07:40 Uhr
AHHHHH, sorry mein fehler ... XX
und danke das ich nicht in die Steinzeit gebommt worden bin.. ^^

lag denke ich an dem "setlocal"
aber wieseo was macht des überhaupt

wird nicht wieder vorkommen mit einer unzuordnenbaren fehlermeldung.

danke ....

cya
Bitte warten ..
Mitglied: bastla
16.01.2011 um 09:14 Uhr
Hallo Killer-Loop!
AHHHHH, sorry mein fehler ... XX
lag denke ich an dem "setlocal"
Soferne Du tatsächlich etwas bezüglich Batch-Erstellung (und nicht nur eine punktuelle Lösung) mitnehmen willst, solltest Du trotzdem Deinen Ansatz posten - das "setlocal" würde ich in diesem Fall als Fehlerursache nämlich eher ausschließen ...
aber wieseo was macht des überhaupt
Soferne es keinen Zusatz (insbesondere "enabledelayedexpansion") hat, sorgt es nur dafür, dass Änderungen an Variablen (dazu zählt auch das Erstellen solcher) auf den aktuellen Batch (bzw genauer: bis zum nächsten "endlocal", und ein solches wird am Batchende automatisch ausgeführt) beschränkt bleiben - insbesondere beim Testen (in der gleichen CMD-Shell) nicht unwichtig, damit nicht Variablenwerte von früheren Versuchen die Interpretation verfälschen.

Für die meisten Batches gilt, dass Du "setlocal" unbesehen an den Anfang setzen kannst und sich daraus keine negativen Nebenwirkungen ergeben ...

Grüße
bastla
Bitte warten ..
Mitglied: Killer-Loop
17.01.2011 um 11:26 Uhr
danke für die schnelle hilfe !!!!!
ich hab das hinbekommen was ich machen wollte .
Nur nur verstehe ich es noch nicht ganz... ... Ich lese mir gerade nen paar tutorials durch um dahinter zu kommen.

Bei fragen dazu soll ich die in dem Thread noch stellen oder gleich einen neuen aufmachen ????

cya

Nochmal danke für alles!!
Bitte warten ..
Mitglied: Biber
17.01.2011 um 12:31 Uhr
Moin Killer-Loop,

Zitat von Killer-Loop:
Bei fragen dazu soll ich die in dem Thread noch stellen oder gleich einen neuen aufmachen ????
Gerne.

Ich denke, damit spreche ich auch für bastla.

cya
ym2
Biber
Bitte warten ..
Neuester Wissensbeitrag
Internet

Unbemerkt - Telekom Netzumschaltung! - BNG - Broadband Network Gateway

(3)

Erfahrungsbericht von ashnod zum Thema Internet ...

Ähnliche Inhalte
Viren und Trojaner
Erpressungs-Trojaner Locky markiert Geisel-Dateien mit .aesir-Endung

Link von VGem-e zum Thema Viren und Trojaner ...

VB for Applications
VBS Script zum versenden mehrerer Verknüpfungen zu Dateien per Lotus Notes

Frage von Sentinel87 zum Thema VB for Applications ...

Windows Server
Server sehr langsam bei vielen kleinen Dateien (5)

Frage von MichiBLNN zum Thema Windows Server ...

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

Frage von xbast1x zum Thema Windows Server ...

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

Frage von Y3shix zum Thema Grafikkarten & Monitore ...

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

Frage von Motte990 zum Thema Microsoft Office ...