如何将日期字符串附加到文件夹路径?

时间:2015-09-21 03:13:45

标签: windows batch-file cmd

我正在编写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部分的任何提示?

2 个答案:

答案 0 :(得分: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%

答案 1 :(得分: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%