forfiles
ヘルプの表示
forfiles /?
サブフォルダも含めて列挙
forfiles /s
拡張子を指定して列挙
forfiles /m *.txt
yyyy年以前のファイルを削除
2017年以前のファイルを削除したいときには、下記を実行する。
forfiles /d -2017/12/31 /c "cmd /c del @file"
㎜か月以上前のファイルを削除
3か月(90日)以上前のファイルを削除したいときには、下記を実行する。
forfiles /d -90 /c "cmd /c del @file"
[参考]
- Windowsのforfilesコマンドで条件に合うファイルを取り出して処理する
http://www.atmarkit.co.jp/ait/articles/0902/27/news132.html
for
n回実行する
"hello world." を100回表示する。
@echo off
rem バッチファイルの場合
FOR /l %%i IN (1,1,100) DO echo %%i : hello world.
rem コマンドプロンプトから対話的に実行する場合には、%%i を %i にする必要がある。
pause
ファイルの検索
@echo off
rem バッチファイルの場合
FOR /r "C:\test" %%i IN (*sample*.csv) DO echo %%i
rem コマンドプロンプトから対話的に実行する場合には、%%i を %i にする必要がある。
rem ファイルに出力する場合
FOR /r "C:\test" %%i IN (*sample*.csv) DO echo %%i >> output.txt
pause
ファイルリストの作成
@echo off
for %%a in (*.*) do (
echo %date% %time% %%~ta %%a %%~za >> filelist.txt
)
pause
if
ファイルの存在チェック
@echo off
IF EXIST C:\test.txt (
echo 存在する
) ELSE (
echo 存在しない
)
pause
set
ユーザー入力
@echo off
SET /p input="input a number."
echo %input%
pause