2011-02-10 14 views
1

私はWindows XPで働いて、今すぐWindows 7に移動しました。使用するバッチファイルをビルドします。今は動作しません。Windows 7のバッチファイルの日付問題

のWindows XP:

echo %DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4% 

02-10-2011 

のWindows 7:

echo %DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4% 

2--01- 

助けてください。ありがとう。

+0

%date%by%date:〜6,4% - %date:〜3,2% - %date:〜0.2%働いた – Enora

答えて

0

%DATE%の出力/形式が変更されました。ロケール/地域設定の影響を受けています。

フォーマットがWinXPからWin7に変更されたかどうかを確認するには、echo %DATE%を実行してください。

+0

それは:echo%DATE%---> 10-02 -2011。ありがとう:) – Vaandu

+0

エコー%日付:〜3,2% - %日付:~0,2% - %日付:〜6,4% 02-10-2011 – Vaandu

1

私のために働く。私はこの試みたときしかし:

SET DATF=2011-10-02 
ECHO %DATF:~4,2%-%DATF:~7,2%-%DATF:~10,4% 

をそれが表示される:

-1--0- 

だから私の推測では、あなたのWindows 7環境であるが、%DATE%が、それはWinXPのにあったものとは異なる形式で日付を返すされなければなりません。スクリプトを変更したり、日付/時刻のロケール設定を変更することができます。

0

私はこれを考え出しました。これは私の作品、

XP

echo %DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4% 

WIN7

echo %DATE:~3,2%-%DATE:~6,2%-%DATE:~9,4% 

それを試してみてください。問題がwin7のはXPで0の代わりに、1から文字列をカウントしているということなので、解決策があります。

+0

ハプス、見落とされたコメント: - P – nox

0

時間の設定によって、時間の形式が異なる場合があります。両方に単純にこの行を試してみてください :

はほとんど使わ%のDATE%

をエコーDD/MM/YYYYまたはMM/DD/YYYYです。

違う場合は、必要に応じて文字列を解析します。