2周前用批处理文件获取日期

时间:2016-04-10 11:20:24

标签: batch-file command-line

我有一个从我的ftp下载文件的批处理脚本。

它有一个部分,需要今天的日期从服务器中提取正确的文件:

FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET yy=%yyyy:~-2%
SET filename=%yy%%mm%%dd%

我每周都会运行这个脚本。

现在,我想在脚本中添加一个部分,自动删除2周前下载的文件。

如何生成格式为oldfilename的新变量today minus 14 days

1 个答案:

答案 0 :(得分:0)

感谢那些指引我正确方向的人。

这是我最终得到的代码:

@echo off
set day=-14
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
SET yy=%yyyy:~-2%
set "oldfilename=%yy%%mm%%dd%"
相关问题