Windowsのコマンドラインで入力するDate
と、日付値を入力するように求められます。
しかし、日付を記憶されている(入力しない)値に変更する必要がある場合はどうなりますか?
@echo off
set todaysdate=%date%
date 11/11/2012
date %todaysdate%
最後の行はこのエラーを示しています。The system cannot accept the date entered.
次に、日付を入力する必要があります。
では、何が問題なのですか?変数の型を変更する必要がありますか?それは可能ですか、そしてどのように?
アップデート:
問題:dbenhamのおかげで、問題が次の原因になっていることがわかりDate %todaysdate%
ましSet "Todaysdate=%DATE:/=-%"
た:曜日+日付。
例:Date %todaysdate%
およびSet "Todaysdate=%DATE:/=-%"
(最初のスクリプト行)の値は、2012年11月24日土曜日になります。したがって、日付(最後の行)にこの値を2012年11月24日土曜日にするように要求すると、日付は曜日を含むこの値を受け入れないため、失敗します。
解決策:私は今2つの解決策を考えていますが、それらがcmdに適用できるかどうかはわかりません。
最初の解決策は、最初のスクリプト行の設定値に曜日(Sat、Sun ...)が含まれているかどうかをテストし、曜日をトリミングすることです。
2番目の解決策は、1行目の変数のタイプを変更することです。したがって、変数のタイプに関係なく、曜日のない単純な日付(日、月...)に変更します。