日付の範囲のレポートを生成する program.exe を実行する必要があります。コマンド ラインで program.exe を呼び出しますが、呼び出すときに 2 つの引数 (現在の日付と current_date-6days )を設定する必要があります。
c:\program.exe current_date current_date-6 (date before 6 days)
このコマンドで現在の日付が得られることがわかりました: 28-06-2013
%date:~0,2%-%date:~-7,2%-%date:~-4,4%
しかし、 current_date -6を取得できません(6 日前の日付を意味します)
また、ユーザーが希望する日付の範囲を選択できるようにする必要があります...
プログラムの実行を続行する方法 1) 2 つのパラメーター (たとえば、現在の日付と 6 日前の日付) を指定して自動的に (Windows スケジュール) 2) 同時に手動で、ユーザーに次の可能性を与える日付範囲の選択
@echo off
set /a currd=%date:~0,2%
set /a currm=%date:~3,2%
set /a curry=%date:~6,4%
set /a d=%date:~0,2%
set /a m=%date:~3,2%
set /a y=%date:~6,4%
FOR %%A IN (1 2 3 4 5 6) DO (
:loop
set /a d-=1
if %d% LSS 1 (
set d=1
set /a m-=1
if %m% LSS 1 (
set m=12
set /a y-=1
)
)
xcopy /d:%m%-%d%-%y% /l . .. >nul 2>&1 || goto loop
)
start /WAIT /B "" "C:\MyPGM.exe" "%d%-%m%-%y%" "%currd%-%currm%-%curry%"
2013 年 6 月 28 日については問題ありませんが、2013 年 1 月 7 日については「文字列が有効な DateTime として認識されませんでした」というエラーが表示されます。