トップ回答者
日付バッチを作成して7日後の日付を表示する

質問
-
お疲れ様です。
日付バッチを作成しているのですが、下記のようにすると月をまたいでくれません。
set dt=%date%
set yy=%dt:~-10,4%
set mm=%dt:~-5,2%
set dd=%dt:~-2,2%
set /a dd=1%dd%+107
set dd=00%dd%
set dd=%dd:~-2%
set /a ymod=%yy% %% 4
if %dd%==00 (
if %mm%==01 (set mm=12& set dd=31 & set /a yy=%yy%-1)
if %mm%==02 (set mm=01& set dd=31)
if %mm%==03 (set mm=02& set dd=28 & if %ymod%==0 (set dd=29))
if %mm%==04 (set mm=03& set dd=31)
if %mm%==05 (set mm=04& set dd=30)
if %mm%==06 (set mm=05& set dd=31)
if %mm%==07 (set mm=06& set dd=30)
if %mm%==08 (set mm=07& set dd=31)
if %mm%==09 (set mm=08& set dd=31)
if %mm%==10 (set mm=09& set dd=30)
if %mm%==11 (set mm=10& set dd=31)
if %mm%==12 (set mm=11& set dd=30)
)
echo %yy%-%mm%-%dd%>test.log
回答
-
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2018
バッチの練習用にはよいかもしれないが、それが実用的かどうか。
aaa.vbs
WScript.Echo DateAdd("d",7,Date())
bbb.cmd
for /f %%A in ('cscript //nologo aaa.vbs') do set bbb=%%A
echo %bbb%
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2018年5月7日 0:10
-
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2018
「昨日」のバッチを元にしてる? ほとんど丸投げですね。 バグ取りレベルまで自分で完成しないと話になりません。
基本は、何月なら、その月の日数を超えていたら、次の月、日にちに変える。でしょう。- 編集済み ウィンドウズスクリプトプログラマ 2018年4月27日 3:09
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2018年5月7日 0:10
すべての返信
-
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2018
「昨日」のバッチを元にしてる? ほとんど丸投げですね。 バグ取りレベルまで自分で完成しないと話になりません。
基本は、何月なら、その月の日数を超えていたら、次の月、日にちに変える。でしょう。- 編集済み ウィンドウズスクリプトプログラマ 2018年4月27日 3:09
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2018年5月7日 0:10
-
© ウィンドウズスクリプトプログラマ - Windows Script Programmer 2018
バッチの練習用にはよいかもしれないが、それが実用的かどうか。
aaa.vbs
WScript.Echo DateAdd("d",7,Date())
bbb.cmd
for /f %%A in ('cscript //nologo aaa.vbs') do set bbb=%%A
echo %bbb%
- 回答としてマーク 栗下 望Microsoft employee, Moderator 2018年5月7日 0:10