0

いくつかのファイルに対して特定の操作を実行しています。以下は、そのために書かれたbatファイルスクリプトです。ファイルの名前は次のタイプです: aspen_1M_bursty_25_1.pcap

@FOR /L %%i in (1,1,10) do (
   @%decoder% -i L:\martin\05_distorted\Elecard\%~n1_bursty_25_%%i.pcap -o L:\martin\05_distorted\Elecard\%~n1_bursty_25_%%i.avi
)

問題は、このスクリプトが内部に「-」を追加し、最終的に次のようなコマンドを呼び出すことです。

-i L:\martin\05_distorted\Elecard\-_bursty_25_1.pcap -o L:\martin\05_distorted\Elecard\-_bursty_25_1.avi 
                                  ^                                                    ^

したがって、ファイルの名前に「-」が含まれていないため、そのようなファイルがないというエラーが返されます。

上記のスクリプトはbatファイルにあり、コマンドプロンプトからbatファイルを呼び出しています。

この「-」を取り除く方法は?:)

4

1 に答える 1

1

問題は%~n1置換パラメーターにあります。HELP CALLこれがどのように機能するかを理解するために読んでください。

あなたの場合、%1コードに渡される最初のパラメーターです。

したがって、このコードを呼び出す方法を確認する必要があります。

これが :label が呼び出されている場合は、CALLコマンドを確認してください。

メインの BAT スクリプトにある場合は、コマンド ラインまたは別の BAT から BAT を呼び出す方法を確認します。

"-"を渡しているようです。

name.bat ->log.txt

代わりに「aspen」を渡すと、 正しく機能するはずです。こちらです:

name.bat aspen >log.txt
于 2013-09-06T10:32:14.337 に答える