いくつかの引数を取り、その後に 1 つ以上のオプションのファイル名 (ワイルドカードを含む場合があります) が続き、ある時点でオプションのファイル名のそれぞれを処理するバッチ ファイルを作成しようとしていますが、for
コマンドはそれらを展開しようとし続けます。それらを印刷するだけでは機能しません。
ヘルプ ( for /?
) を確認しましたが、これを防止するスイッチはないようです。一重引用符、二重引用符、逆引用符、および を使用してみまし/f
たが、何も機能しないようです。
次のコマンドは、期待どおりに機能します。
> for %i in (foo bar baz) do @echo %i
foo
bar
baz
次のコマンドは、次のことを行いません。
> for %i in (foo bar baz really?) do @echo %i
foo
bar
baz
以下は、それほどではありません。
> ren > reallyz
The syntax of the command is incorrect.
> dir /b really*
reallyz
> for %i in (foo bar baz really?) do @echo %i
foo
bar
baz
reallyz
渡されたリストを文字列として扱い、ファイル名のワイルドカードとして解釈しようとしない Windows コマンド インタープリターを取得する方法はありますか?