OK, ich denke, Sie haben eine Reihe von Dateien wie
ant.mov bug.mov cat.mov dog.mov ︙ in einem Verzeichnis (aka Ordner) und Sie möchten dies tun
HandbrakeCLI.exe ( bla bla bla ) -i ant.MOV -o ant.mp4 HandBrakeCLI.exe…… -i bug.MOV -o bug.mp4 HandbrakeCLI.exe…… -i cat.MOV -o cat.mp4 HandbrakeCLI.exe…… -i dog.MOV -o dog.mp4 ︙
für alle *.movDateien. Das ist ziemlich einfach:
für% F in (* .mov) HandBrakeCLI.exe ( bla bla bla bla ) -i "% F" -o "% ~ nF.mp4"
Das for %F in (*.mov)führt eine Schleife aus, in der %Fjeder anwendbare *.movName übernommen wird. Dann dowird für jede Datei der Befehl ausgeführt, der %Foffensichtlich durch den .movDateinamen ersetzt wird . (Hinweis: FGroß- und Kleinschreibung wird berücksichtigt.) (Sie können möglicherweise ohne Anführungszeichen auskommen - dh, sagen Sie einfach %F und nicht "%F"-), aber es schlägt fehl, wenn Sie Dateinamen mit Leerzeichen oder anderen Sonderzeichen enthalten .) %~nFwird durch die ersetzt n AME Teil des Dateinamens (nicht einschließlich der Erweiterung), so %~nF.mp4wird die Ausgabe Dateinamen.
Möglicherweise möchten Sie dies in mehrere Zeilen unterteilen, weil Ihr eigentlicher Befehl so lang ist und / oder weil Sie andere Dinge in der Schleife ausführen möchten. Sie können dies mit Klammern tun:
für% F in (* .mov) do ( HandBrakeCLI.exe (bla bla bla) -i "% F" -o "% ~ nF.mp4" (anderer Befehl (e) mit "% F", "% ~ nF", etc.) )
Geben Sie ein for /?, um eine Liste aller ~Codes anzuzeigen. (Beispiel: %~dFGibt den Laufwerksbuchstaben an und %~pFgibt den Pfad an.) In der Dokumentation ist nicht klar, dass Sie die Modifikatoren kombinieren können, z. B. %~dpnFLaufwerk, Pfad und Namen, nicht jedoch die Erweiterung. als ob Sie getippt hätten %~dF%~pF%~nF.)
Sie können lange Befehle auch in mehrere Zeilen aufteilen ^:
für% F in (* .mov) do ( HandBrakeCLI.exe --preset-import-Datei "Voreinstellungsname.json" ^ -Z "Preset-Name" -i "% F" -o "% ~ nF.mp4" (andere Befehle mit "% F", "% ~ nF" usw.) )
Alle oben genannten Funktionen funktionieren an der Eingabeaufforderung (Befehlszeile). Dasselbe funktioniert in einem Batch-Skript, außer dass Sie jedes %durch Folgendes ersetzen müssen %%:
für %% F in (* .mov) do ( HandBrakeCLI.exe --preset-import-Datei "Voreinstellungsname.json" ^ -Z "Preset-Name" -i "%% F" -o "%% ~ nF.mp4" (andere Befehle mit "%% F", "%% ~ nF" usw.) )
Dies wurde unter Windows 7 getestet, aber ich wäre sehr überrascht, wenn es nicht unter Windows 10 funktioniert.