gfk-michael
Goto Top

Verarbeitete Datei unter neuem Namen speichern

Ich habe eine Batch-Datei, die durch "fallenlassen" einer anderen Datei (avi) diese weiterverarbeitet und unter neuem Namen abspeichert. Konkret gesagt, wandle ich auf diese Weise avi-Dateien in ts-Dateien um (für Receiver abspielbar). Mein Problem ist nun, dass der Dateiname nach der Umwandlung immer derselbe ist und ich dadurch versehentlich bereits umgewandelte Filme überschreiben könnte.

Hier der Batch-Datei-Inhalt:

"C:\programme\VideoLan\VLC\vlc" -vvv %1 :sout=#transcode{vcodec=mp2v,vb=2600,scale=1,acodec=mp2a,ab=192,channels=2}:duplicate{dst=std{access=file,mux=ts,dst="g:\Filme\ER.ts"} --sout-transcode-fps 25

Der Knackpunkt ist wohl der fest eingestellte Dateiname (ER.ts). Wie stelle ich es an, dass der Originalname der Datei beibehalten und nur der Suffix in ts geändert wird? Ich hoffe, dass diese Frage nicht schon 100x gestellt wurde, aber ich fand nichts entsprechendes - viele Probleme, die hier gelöst wurden, waren zwar ähnlich, aber mein Wissen über DOS-Parameter ist sehr begrenzt und konnte daher nicht die für mich wichtigen Infos herausholen.

MfG Michael

Content-Key: 99404

Url: https://administrator.de/contentid/99404

Printed on: April 26, 2024 at 10:04 o'clock

Member: bastla
bastla Oct 15, 2008 at 23:45:58 (UTC)
Goto Top
Hallo GfK-Michael und willkommen im Forum!

Versuch es mal so:
"C:\programme\VideoLan\VLC\vlc" -vvv %1 :sout=#transcode{vcodec=mp2v,vb=2600,scale=1,acodec=mp2a,ab=192,channels=2}:duplicate{dst=std{access=file,mux=ts,dst="g:\Filme\%~n1.ts"} --sout-transcode-fps 25
Zum Nachlesen: An der Kommandozeile "for /?" eingeben - die Zeile
%~nI        - Erzeugt nur den Dateinamen von %I.
knapp vor dem Ende des Hilfetextes und auch die Zeilen unmittelbar davor und danach gelten auch für die Aufrufparameter %0 bis %9.

Grüße
bastla
Member: GfK-Michael
GfK-Michael Oct 16, 2008 at 07:41:54 (UTC)
Goto Top
Klasse - hat geklappt. Vielen Dank - auch für den weiteren Tipp. Ich hatte es mit %1 versucht (wie am Anfang der Zeile), aber da öffnete sich nur der VLC-Player, ohne zu decodieren.

Habs mir mal angeschaut: Ajajaj - da wird ja ein halber Roman als Hilfetext ausgegeben. 75% davon verstehe ich nicht einmal, obwohl ich mich seit 25 Jahren mit Programmieren beschäftige (überwiegend Hochsprachen - derzeitig hauptsächlich mit Excel-VBA). DOS habe ich immer Stiefkindlich behandelt, so dass mir viele Grundlagen fehlen. Daher auch diese Anfängerfrage *rot wird*.

Was ich jetzt noch nicht verstehe, ist die Wirkung unterschiedlicher Zahlen dabei

%0 bis %9

Gibt es irgendwo eine Art DOS-Kurs online?

MfG Michael
Member: bastla
bastla Oct 16, 2008 at 07:53:31 (UTC)
Goto Top
Hallo GfK-Michael!

Als ich vor etwa 2 Jahren begonnen habe, mich wieder mit Batch zu beschäftigen, habe ich auch ziemlich gestaunt, was die "cmd.exe" im Vergleich zu "command.com" an Möglichkeiten bietet ...

... die Wirkung unterschiedlicher Zahlen
%0 steht für die gerade ausgeführte Batchdatei - daher kannst Du zB mit
echo %~dp0
den vollständigen Pfad feststellen (und hier: ausgeben), in dem der Batch liegt.

Mit %1 bis %9 werden die dem Batch übergebenen Parameter nummeriert - beim Aufruf
test.cmd Param1 Param2 P3 Par4
enthält dann eben %1 "Param1" und %4 "Par4".
Einen Online-Kurs kann ich Dir leider nicht empfehlen, aber ein gutes Forum wüsste ich ... face-wink

Grüße
bastla
Member: GfK-Michael
GfK-Michael Oct 16, 2008 at 09:08:49 (UTC)
Goto Top
Ok - das hilft mir weiter.

Was den "Kurs" angeht: Vielleicht kennt sonst noch jemand den einen oder anderen Link, damit ich nicht immer wieder fragen muss. Es würde auch eine Art Nachschlagewerk reichen, wo auch Beispiele dabei sind - die reinen Beschreibungen der Befehle/deren möglichen Parameter sind teilweise doch sehr abstrakt.

MfG Michael
Member: GfK-Michael
GfK-Michael Oct 20, 2008 at 05:20:26 (UTC)
Goto Top
Da es wohl sowas nicht zu geben scheint, werde ich den Beitrag mal als gelöst markieren.

Vielen Dank nochmal

MfG Michael