質問: 以下の機能を備えるバッチファイルを作成したいと思っています。 1.ユーザーからフォルダをドラッグ・アンド・ドロップしてもらう。 2.ユーザーに日付を入力してもらう(yyyymmdd方式) 3.ユーザーに下記の2つから選んでもらう。 1.入力した日付よりも前に更新されたファイルを表示 2.入力した日付よりも後に更新されたファイルを表示 4.ユーザーから受け付けた条件で、サブフォルダも含めて コマンドプロンプト上に 更新日時 ファイルへのパス を表示する。 以上の動作をするバッチファイルを作りたいです。 開発環境 OS:WindowsXP できれば、バッチファイルでの作成を考えていますが WHSやVBSで実現可能ならそちらの方法でも受け付けます。 この機能を実現できるフリーソフトがあればそれも受け付けます。 以上です。
回答: こんにちは。 ざっと作ってみました。一応XPで動作確認済みです。 ただし、ドラッグ&ドロップするものがフォルダであるか、日付の値が妥当であるかのチェックまではしていません。 また入力された日付は含みません。 含む場合は、バッチ内 LSS → LEQ , GTR → GEQ と変えてください。 ------------------------------------------- list.bat echo off set /P YYYYMMDD=日付を入力してください(YYYYMMDD): :loop echo ---------------------------------------------------- echo 入力した日付よりも前に更新されたファイルを表示 - [1] echo 入力した日付よりも後に更新されたファイルを表示 - [2] echo ---------------------------------------------------- set /P chk= 1 か 2 を入力してください: if not defined chk goto loop if %chk% EQU 1 set op=LSS&goto listup if %chk% EQU 2 set op=GTR&goto listup goto loop :listup echo. for /R %1 %%F in ( *.* ) do call :sub "%%~fnxF" %%~tF cmd /k :sub set fdate=%2 set fdate=%fdate:/=% if %fdate% %op% %YYYYMMDD% echo %2 %3 %1 goto :EOF