2013-06-19 17 views
5

でという名前の新しいフォルダを作成し、次のようコマンドプロンプト/ BATファイル - 私は今日の日付と名前の新しいフォルダを作成するには、次のコードを使用して、今日の日付

for /f "tokens=1* delims=" %%a in ('date /T') do set datestr=%%a 
mkdir c:\%date:/=% 

を今形式は次のとおりです。

20130619 

どのように私は

2013_06_19 

を?:する形式を変更できますが、あなた

ありがとうございました

答えて

7
for /f "tokens=1-3 delims=/" %%a in ("%date%") do md "%%a_%%b_%%c" 
+0

おかげで、魅力のように動作します – DextrousDave

+3

あなたは 'md"%dateと同じ結果を得ます:/ = _% "' :-) .. – Endoro

+0

ありがとう!最後に、ロケール依存の%date%に頼らない人に – DextrousDave

2

この操作を行います。

for /F "tokens=2-4 delims=/ " %%i in ('date /t') do set yyyymmdd1="%%k"_"%%i"_"%%j" 
mkdir %yyyymmdd1% 
+1

、http://stackoverflow.com/questions/11280077/batch-script-to-make-backup-folder-only-new-and-modified-files/ - ちょうど私が "%% i"や%% k、%% j、そしてそれらの間の_をどのように操作するのかを確認してください – ilansch

+0

あなたの答えはフォルダ名で年ではなく月と日のみを表示します...テスト – DextrousDave

+0

こんにちは、それはあなたがコピーを貼っていなかったかもしれないことをすべて示しています:)私の答えはあなたが受け入れたものです。それはあなたのコードと同じで元の – ilansch

2

または単に

SET Today=%Date:~10,4%_%Date:~7,2%_%Date:~4,2% 

echo %today% 

出力

2013_06_19 
Press any key to continue . . . 

その後、あなたは簡単に例えばディレクトリ作成のために今日の変数を使用することができます。:

mkdir %today% 
を210

EDIT:YYYY_MM_DD形式

+0

と同じですが、現在はフォルダ名として '今日'が返されます – DextrousDave

+0

はい、それはあなたが望むものではありませんか?ドライブ文字やパスの他の部分を連結することができます。この解決策にはループが含まれていません –

22

%日付%は、コンピュータの設定、およびロケールに依存します。ここでは、日付とタイムスタンプを取得する信頼性の高い方法です。 Win XPプロ以上。

不明なマシンでバッチファイルを使用する必要がある場合は、これを使用する価値があります。あなたを助けるかもしれない前の回答から取ら

:: time and date stamp YYYYMMDD, HHMMSS and YYYY-MM-DD_HH-MM-SS 
@echo off 
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a 
set datestamp=%dt:~0,8% 
set timestamp=%dt:~8,6% 
set YYYY=%dt:~0,4% 
set MM=%dt:~4,2% 
set DD=%dt:~6,2% 
set HH=%dt:~8,2% 
set Min=%dt:~10,2% 
set Sec=%dt:~12,2% 

set stamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec% 
echo stamp: "%stamp%" 
echo datestamp: "%datestamp%" 
echo timestamp: "%timestamp%" 

pause 
+3

を感謝してください! –