2013-06-19 125 views

回答

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

謝謝,作品像一個魅力 – DextrousDave

+3

相同的結果,你可以用'md「%date:/ = _%」':-)得到。 – Endoro

+0

謝謝!欣賞 – 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% 

編輯:YYYY_MM_DD格式

+0

,它回退'今天'作爲文件夾名稱 – DextrousDave

+0

是的,是不是你想要的?您可以將驅動器號或路徑的其他部分連接起來。此解決方案不包含任何for循環 –

22

%日期%取決於你的計算機設置和語言環境。這是獲取日期和時間戳的可靠方法。贏得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

終於有人不依賴於依賴區域的%date%! –

相關問題