我正在尝试创建一个每天早上运行的计划任务,将文件从文件夹复制到另一个文件夹。所以这就是问题,
源文件夹的名称是动态的,并以每日日期(即“06-Feb-13”)开始。 如何创建一个能够确定每日日期并找到该文件夹的批处理文件?
提前致谢。
答案 0 :(得分:1)
@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
For /f "tokens=1-2 delims=/:" %%a in ('time /t') do (set mytime=%%a%%b)
echo %mydate%_%mytime%
此Link会对您有所帮助。
答案 1 :(得分:0)
如果它是您正在寻找的最新文件夹,那么您可以执行按创建日期排序的目录列表,并对最后一个条目执行操作。如果您知道您需要的目录将始终是最近创建的目录,那么就无需刮除并比较实际日期。
@echo off
setlocal
for /f %%I in ('dir /t:c /o:d /b "c:\path\to\containing\dir\*."') do set dir=%%I
copy "%dir%\*.*" "c:\destination\folder"
请注意,我正在dir "path\*."
而不是dir "path\*.*"
。 *.
将匹配目录,但不匹配文件。
答案 2 :(得分:0)
这是我提出的最终解决方案:
@echo off
REM -- Convert number to 3 character month--
set v=%date:~4,2%
SET map=01-Jan;02-Feb;03-Mar;04-Apr;05-May;06-Jun;07-Jul;08-Aug;09-Sep;10-Oct;11-Nov;12-Dec
CALL SET v=%%map:*%v%-=%%
SET v=%v:;=&rem.%
set y=%date:~12,4%
set d=%date:~7,2%
set "mydate=%d%-%v%-%y%"
echo %mydate%