1. ホーム
  2. ウィンドウズ

[解決済み】バッチスクリプトでディレクトリ内の各ファイルに対して何かを行う方法

2022-04-01 10:39:56

質問

.bat または .cmd ファイルで、ディレクトリ内の各ファイルを反復処理するにはどうすればよいですか?

簡単のために、ファイル名またはファイルパスをエコーするだけでよいという回答をお願いします。

解決方法は?

コマンドラインの使用方法。

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