そこでファイルの更新日付を元に対象のファイルを一覧形式で出力するツールを作成した。
◇◇◇ 更新ファイル一覧取得ツール ◇◇◇
<機能>
入力した日付以降に更新されたファイルの一覧を出力する。
特定のファイル名、ファイルの種類を除去することも可能。
<リソース>
1. exec.bat←--------実行プログラム
2. updateFile.bat←-----入力された条件を元にファイルを出力する。
<操作イメージ>
<リソース詳細>
※文字色が黄色の箇所は、各自の環境に合わせて変更して下さい。
1. exec.bat
echo off
cls
echo ####################################################################
echo # #
echo # <<< 更新ファイル一覧取得ツール >>> #
echo # 入力した日付以降に更新されたファイルの一覧を出力する #
echo # 特定のファイル名、ファイルの種類を除去することも可能 #
echo # #
echo # presented by YK #
echo # #
echo ####################################################################
echo ...
echo ...
echo ...
echo ... Please Input Date... example) 2009/01/10
:↓今は固定にしているが、ユーザに入力させることも可能
set /p inputDate=
:set inputDate=2009/01/10
echo ...
echo ... Please Input Directory Path...
:↓今は固定にしているが、ユーザに入力させることも可能
set /p inputDir=
:set inputDir=C:\hoge\dara\
echo ...
echo ... waiting...
echo ...
:結果を出力するファイル名 YYYYMMDD.txt
set filename=%inputDate:~0,4%.%inputDate:~5,2%.%inputDate:~8,2%.txt
call updateFile.bat > C:\%filename%
echo ...
echo ... end
pause
2. updateFile.bat
:出力内容を「更新日時 ファイルパス」にするには⇒echo %%~ta %%a
:以下のサンプルでは、「*.class」・「hoge.txt」を出力しないように制御している。
:<if構文の比較演算子>
: EQU - 等しい
: NEQ - 等しくない
: LSS - より小さい
: LEQ - 以下
: GTR - より大きい
: GEQ - 以上
FOR /R %inputDir% %%a IN (*) DO if %%~ta GEQ %inputDate% (
if NOT %%~xa == .class (
if NOT %%~xna == hoge.txt (
echo %%~ta %%a
)
)
)