以下のようなバッチファイルを作成し実行したのですが、「コマンドの構文が間違っています」というエラーとなってしまいました。
エラー原因を特定したいのですが、いかんせんエラーメッセージが不親切なのでご協力いただきたいです。
環境はWindows Server 2016です。自分の端末で(Win7)テストした際には動作していたと思うのですが…
setlocal enabledelayedexpansion for /r <ディレクトリパス> %%i in (*.*) do ( (処理) ) exit 0
エラーメッセージ:コマンドの構文が誤っています。
以下を試したのですが、原因の特定には至りませんでした。
setlocal enabledelayedexpansion for /r <ディレクトリパス> %%i in (*.*) do pause exit 0
結果:正常終了(pauseの処理で止まった)
setlocal enabledelayedexpansion for /r <ディレクトリパス> %%i in (*.*) do echo %%i
結果:正常終了(ディレクトリパス内のフォルダのファイル名が出力された)
for /r <ディレクトリパス> %%i in (*.*) do ( (処理をすべてコメントアウト) ) exit 0
結果:コマンドの構文が誤っています。
for /r <ディレクトリパス> %%i in (*.*) do ( pause ::コメント ) exit 0
結果:) の使い方が誤っています。
上記の結果からdo辺りで何か問題があるのかと考えております。
考えられる原因や調査の観点等ご教授ください。