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, 3141 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 ..
Ähnliche Inhalte
Datenbanken
MSSQL Management Studio Generiere Skript automatisieren (2)

Frage von 115122 zum Thema Datenbanken ...

Batch & Shell
gelöst Datei-Endungen, Listen und Sortierung (Batch) (5)

Frage von clragon zum Thema Batch & Shell ...

Viren und Trojaner
CryptoLocker und seine wechselnden Datei-Endungen (24)

Erfahrungsbericht von Tharen zum Thema Viren und Trojaner ...

Batch & Shell
Filezilla automatisieren (13)

Frage von 132351 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Tools

Zeit für Energiesparmodus, Bildschirmabschaltung etc. schnell anpassen

Anleitung von hannsgmaulwurf zum Thema Windows Tools ...

Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(4)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Windows Server
Zertifikat am DC erneuern funktioniert nicht (13)

Frage von takvorian zum Thema Windows Server ...