.bat または .cmd ファイルを使用してディレクトリ内の各ファイルを反復処理するにはどうすればよいですか?
簡潔にするために、ファイル名またはファイル パスのみをエコーする回答を提供してください。
ベストアンサー1
コマンドラインの使用方法:
for /f %f in ('dir /b c:\') do echo %f
バッチファイルの使用法:
for /f %%f in ('dir /b c:\') do echo %%f
更新: ディレクトリに名前にスペースが含まれるファイルが含まれている場合は、for /f
コマンドが使用する区切り文字を変更する必要があります。たとえば、パイプ文字を使用できます。
for /f "delims=|" %%f in ('dir /b c:\') do echo %%f
更新 2 : (最初の回答から 1 年半後の速報:-)) ディレクトリ名自体にスペースが含まれている場合は、usebackq
次のオプションを使用できますfor
:
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f
出力リダイレクトやコマンドパイプを使用する必要がある場合は、エスケープ文字 ( ^
) を使用します。
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f