バッチを使用してファイルを処理しようとしています。出力はなく、何も起こりません

StackOverflow https://stackoverflow.com/questions/3462496

  •  27-09-2019
  •  | 
  •  

質問

私はファイルを1つずつ渡そうとしています(実行可能は一度に1つのファイルのみを受け入れるため、ドットする必要があります)。だから、私のバッチで私はフォローしています:

FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file 

同じディレクトリにファイルを表示する必要がありますが、何も起こりません。エラーも表示されません。ここに何かが足りませんか?

役に立ちましたか?

解決

あなたの例にはいくつかの間違いがあります:

  • FOR パラメーター名は単一の文字のみです
  • CALL 実行可能ファイルではなく、既存のバッチファイルで別のバッチファイルまたはサブルーチンを呼び出すために使用されます
  • FOR バッチファイルにある場合、パラメーターは2%で参照する必要があります
  • このコマンドを実行しているディレクトリまたはサブディレクトリを実行する場合、またはファイルのいずれかが名前にスペースがある場合、非空間区切り文字を使用する必要があります

これらを念頭に置いて、以下を使用する必要がある正しいコマンドは次のとおりです。

for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f"

これがそうです 私の答え 同様の質問に、私が使用する詳細を説明する場所 FOR ディレクトリ内のすべてのファイルを処理します。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top