バッチファイルで70分前の時刻を出力する方法を教えてください!
バッチファイルで70分前の時刻を出力する方法を教えてください。
ネットで色々調べましたが方法が分からなかったのでTT
バッチファイルで70分前の時刻を出力する方法を教えてください。
ネットで色々調べましたが方法が分からなかったのでTT
powershell使っていいなら、
@powershell -command "Write-Output([DateTime]::Now.AddMinutes(-70).ToString('yyyy/MM/dd HH:mm:ss'))"
@rucia
Questioner
ご回答ありがとうございます。併せてご返信遅くなり申し訳ございません。
恐縮ですが、こちらの結果を変数に代入する方法も教えていただきたいです。
return [DateTime]::Now.AddMinutes(-70).ToString('yyyy/MM/dd HH:mm:ss')
これを適当なファイル(とりあえず "Time.ps1"とする)に保存し、
下記のようなバッチファイルを書けば環境変数に入れる事は一応可能です。
直接コマンドラインから叩くなら、%%A は %A にしてください。
for /f "usebackq delims=" %%A in (`powershell -File Time.ps1`) do set MYTIME=%%A
echo %MYTIME%
手の込んだ処理するなら、環境変数に戻してバッチファイル内で処理するよりは、powershell勉強して全部powershellで書いた方が楽かも。
返信がありませんが、もし解決されたのであれば質問をクローズしてください。
あと、すぐに返信しろとは言いませんが、さすがに質問したまま放置する期間が長すぎです。メールなどでそんな事していたら、普通に考えて失礼ですよね。
何か理由があって長期間返信を返せないのなら、その旨を書いておいてください。
Windowsバッチには特殊変数%TIME%
があり、現在時刻を得られます。
ECHO %TIME%
変数を特定の部分だけピックアップ(展開)することで数値を得られます。例えば%TIME:~,2%
と書くことで「時」の数字部分だけを得られます。
SET
コマンドには/Aオプションを指定することで演算することができます。
IF
コマンドとSET
コマンドで演算することで希望の出力を得られるでしょうが、正直諄いことになるので要件に縛りが無いのであれば他言語で組み上げた方が良いです。
展開や演算方法などは調べれば色々出てきます。以上。