D:\> set "today=%date:~10,4%-%date:~7,2%-%date:~4,2%"
D:\> mkdir SVN_BACKUP_DUMP_TEST\%today%
D:\> CD SVN_BACKUP_DUMP_TEST\%today%
を動作しません。このコマンドは、参照環境変数DATE
の日付のたちはbatファイルを作成しているとき、MAKEの.batファイルと実行がWINDOWS 7
D:\> set "today=%date:~10,4%-%date:~7,2%-%date:~4,2%"
D:\> mkdir SVN_BACKUP_DUMP_TEST\%today%
D:\> CD SVN_BACKUP_DUMP_TEST\%today%
を動作しません。このコマンドは、参照環境変数DATE
の日付のたちはbatファイルを作成しているとき、MAKEの.batファイルと実行がWINDOWS 7
フォーマットを動作しないWHEN領域設定、つまりどの国に依存し、導出しました現在のアカウントに対して日付形式が設定されている国からのものです。どの文字列が環境変数today
に割り当てられ、その文字列がディレクトリまたはファイル名に有効であるかは、アカウント固有の日付形式によって異なります。
私のアカウント出力の国番号がドイツ語の場合、echo %DATE%
は13.11.2017
です。だから、日付形式がセパレータとしてのポイントとDD.MM.YYYY
で、常に何平日でも10未満
日付や月の日付と月の2桁のコマンドライン
echo %DATE:~10,4%-%DATE:~7,2%-%DATE:~4,2%
はと私のマシン上で生成していません私のアカウントと私の地域設定出力:
-01-1.
間違いフォーマットYYYY-MM-DD
で現在の日付ではありません。
溶液を次のバッチコードを使用している:
@echo off
for /F "tokens=2 delims==." %%I in ('%SystemRoot%\System32\wbem\wmic.exe OS GET LocalDateTime /VALUE') do set "Today=%%I"
set "Today=%Today:~0,4%-%Today:~4,2%-%Today:~6,2%"
mkdir "SVN_BACKUP_DUMP_TEST\%Today%" 2>nul
cd "SVN_BACKUP_DUMP_TEST\%Today%"
これは地域独立溶液です。バッチコードは、
%date% produces different result in batch file when run from Scheduled Tasks in Server 2016で完全に説明されています。
もWhat does %date:~-4,4%%date:~-10,2%%date:~-7,2%_%time:~0,2%%time:~3,2% mean?に答え、あまりにも文字列置換を説明するコマンドSETのヘルプを表示取得するために、コマンドプロンプトウィンドウset /?
で実行を参照してください。
'wmic.exe'へのフルパスを指定するのは防衛的な動きです。 – lit