您好,感谢您提前帮助!我需要一些与我正用于在.xlsx
文件末尾添加日期的批处理脚本相关的专家帮助。
我当前的脚本工作正常并将当前日期添加到文件的末尾,但我需要的是将当前日期减去12天,以及当前日期减去6天,添加到结尾文件格式如下:
Test 20160807-20160813.xlsx.
因此它的文件名为Test
,然后是YYYYMMDD (minus 12) - YYYYMMDD (minus 6).xlsx
这是我正在使用的脚本,它获取当前日期:
setlocal enabledelayedexpansion
for %%F in ("C:\test*.xlsx") do ( set "MDate=%%~tF"
set "ParsedDate=!MDate:~6,4!!MDate:~0,2!!MDate:~3,2!" copy %%F%%~dpnF!ParsedDate!%%~xF.new )
for %%F in ("C:\test*.xlsx") do ( del %%F )
ren "C:\test*.new" *.
exit
输出为Test20160815.xlsx
,但我需要Test 20160807-20160813.xlsx
。有人可以帮我解决我做错的事吗?
答案 0 :(得分:0)
PowerShell中的简单示例:
$today = [DateTime]::Today
$date1 = $today.AddDays(-12)
$date2 = $today.AddDays(-6)
"Test {0:yyyyMMdd}-{1:yyyyMMdd}.xlsx" -f ($date1),($date2)
在PowerShell中,日期不是字符串。它们是一流的物体。在此示例中,$today
被赋予今天的日期([DateTime]
对象,而不是字符串)。 $date1
在今天的日期前12天到达,$date2
在今天的日期前6天到达。最后一行代码使用PowerShell的格式(-f
)运算符输出包含所需格式的日期的自定义字符串。