我正在尝试设置一个每日流程来查找文件、重命名文件并在文件名中插入前一天的日期。我希望将文件命名为“Filename_MMddyyyy.csv”,其中 MMddyyyy 表示前一天。我设法重命名了文件,但我是个菜鸟,我不知道如何计算前一天的日期并将其插入文件名中。以下是我到目前为止设法完成的操作:
cd C:\
set file= \\pathtothefile\*.CSV
if exist %file% (
ren \\pathtothefile\*.CSV Filenamehere_%date:~10,4%%date:~7,2%%date:~4,2%.CSV
)
答案1
如果您有的话,我可以为您提供 perl 解决方案。
#!env perl
$FN = "Filename_11223333.csv";
$_ = $FN;
m/(.*)_(..)(..)(....)\.csv/;
$a = $1; # FN
$b = $2; # MM
$c = $3; # dd
$d = $4; # yyyy
$c = $c-1;
$FN2="$b$c$d";
system("ren "."$FN"." "."$FN2");
这将运行以下命令:
$ ren Filename_11223333.csv 11213333