2015-09-21 70 views
0

我正在寫一個windows批處理文件,以在基礎文件夾中的當前日期創建一個文件夾,並將日期文件夾的完整路徑分配給要在批處理文件的後面部分中使用的變量。如何將日期字符串附加到文件夾路徑?

例如,今天的完整路徑變量應包含值:

E:\BaseFolder\20150921 

該腳本創建文件夾不錯,但我無法弄清楚如何將變量分配。

FOR /f "tokens=2-4 delims=/ " %%a IN ('DATE /t') DO SET CURR = %%c%%a%%b 
MD %CURR% 
SET FULLPATH = "E:\\BaseFolder\\"%CURR% 
ECHO %FULLPATH% 

我試過單引號,沒有引號,單引號和雙引號,但都不起作用。

set FULLPATH部件上的任何提示?

+0

使用'SET'時,您可能沒有足夠的變量名和值之間的任何空間。還要注意'date/t'是語言環境相關的。例如,在我的系統上,它給出了「DD/MM/YYYY」,而不是「MM/DD/YYYY」。 – paddy

+0

稻田,這是非常好的!沒有空間。非常感謝! – Lee

回答

0

這是一個便攜的解決方案來獲取日期。

@echo off 
for /F "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a" 
set "YY=%dt:~2,2%" & 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 "_timestamp=%YYYY%%MM%%DD%" 

echo TS: %_timestamp% 
set "fullpath=E:\BaseFolder\%_timestamp%" 
echo fullpath: %fullpath% 
0

試試這個來代替,我也很確定你的SET CURR = whatever之間不能有空格。當我運行你的代碼時,它沒有產生日期,也沒有設置完整的路徑。

::mmddyyyy, change as you wish to suit your needs  
SET CURR=%date:~4,2%%date:~7,2%%date:~-4% 
MD %CURR% 
SET FULLPATH=E:\BaseFolder\%CURR% 
ECHO Curr: %CURR% 
ECHO full path %FULLPATH% 
相關問題