2015-09-21 74 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% 
相关问题