Meine Batch-Datei unten, erstellt eine .avs-Datei für eine bestimmte Liste von Parametern und führt dann ein Programm, das diese .avs-Datei als Argument nimmt und dies mehrmals in einer for-Schleife.Meine Windows-Charge sagt: "72 war zu dieser Zeit unerwartet."
Aber wenn ich meine Batch-Datei ausführen, druckt es 72 is unexpected at this time.
, 72
ist der Wert eines der Parameter. Die .avs-Datei wird nicht erstellt und das Programm wird nicht ausgeführt.
Meine Batch-Datei und ihre Ausgabe an der Eingabeaufforderung mit REM @echo off
ist unten.
Meine Batch-Datei:
REM @echo off
set RawSource26=C:\_rawsource26\RawSource26.dll
set avsFile=.\temporary.avs
set avs2yuv=C:\_avs2yuv\avs2yuv.exe
set video=balloons
set views=^
1^
2^
3^
4^
5
set rates=^
1Mbps^
2Mbps^
3Mbps^
4Mbps^
5Mbps
set width=1024
set height=768
set cropLeft=72
set cropTop=0
set cropRight=0
set cropBottom=0
(for %%v in (%views%) do (
@echo. 2> %avsFile%
@echo LoadPlugin("%RawSource26%") >> %avsFile%
@echo Crop(RawSource(".\renderOut\%video%_%%v_synth.yuv", %width%, %height%, "i420"), %cropLeft%, %cropTop%, %cropRight%, %cropBottom%) >> %avsFile%
%avs2yuv% %avsFile% -raw -o .\avsOut\%video%_%%v_synth_avs.yuv
(for %%r in (%rates%) do (
@echo. 2> %avsFile%
@echo LoadPlugin("%RawSource26%") >> %avsFile%
@echo Crop(RawSource(".\renderOut\%video%_%%v_%%r_synth.yuv", %width%, %height%, "i420"), %cropLeft%, %cropTop%, %cropRight%, %cropBottom%) >> %avsFile%
%avs2yuv% %avsFile% -raw -o .\avsOut\%video%_%%v_%%r_synth_avs.yuv
))))
REM del %avsFile%
Meine Eingabeaufforderung:
C:\SAFAS\folder02>avs.bat
C:\SAFAS\folder02>REM @echo off
C:\SAFAS\folder02>set RawSource26=C:\_rawsource26\RawSource26.dll
C:\SAFAS\folder02>set avsFile=.\temporary.avs
C:\SAFAS\folder02>set avs2yuv=C:\_avs2yuv\avs2yuv.exe
C:\SAFAS\folder02>set video=balloons
C:\SAFAS\folder02>set views=1 2 3 4 5
C:\SAFAS\folder02>set rates=1Mbps 2Mbps 3Mbps 4Mbps 5Mbps
C:\SAFAS\folder02>set width=1024
C:\SAFAS\folder02>set height=768
C:\SAFAS\folder02>set cropLeft=72
C:\SAFAS\folder02>set cropTop=0
C:\SAFAS\folder02>set cropRight=0
C:\SAFAS\folder02>set cropBottom=0
72 was unexpected at this time.
C:\SAFAS\folder02> @echo Crop(RawSource(".\renderOut\balloons_%v_synth.yuv", 1024, 768, "i420"), 72, 0, 0, 0) >> .\temporary.avs
C:\SAFAS\folder02>
OK. Es funktionierte. Würden die öffnenden Klammern '^ (', die nicht als "offen" gedacht sind, eine gute Übung sein? – engn
Entweichende schließende Klammern, die nicht als Teil des Befehls in meinem Stapel gemeint sind, lösten mein Problem. Auch öffnende runde Klammern, die sind Nicht Teil eines Befehls hat nichts kaputt gemacht und bedeutet, dass sie nicht Teil eines Befehls sind. Ich würde sagen, dass das Öffnen von Klammern eine gute Übung ist. Danke. – engn
Entweichende öffnende Klammern wie '^ (' wird nicht benötigt, aber auch nicht Es geht also nicht um gute oder schlechte Praxis, sondern um persönlichen Geschmack. – aschipfl