2017-11-13 5 views

答えて

0

フォーマットを動作しない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 /?で実行を参照してください。

+0

'wmic.exe'へのフルパスを指定するのは防衛的な動きです。 – lit

関連する問題