Disclamer:Previously我需要比较来自“上次修改”,但5分钟前我得到了一个新的要求,我需要与日期比较日期文件名,我解释自己的吼叫。批量复制文件的文件名与今天日期减去X天比较日期
想象一下,我有2个文件夹:
- C:\ FolderData(会每天更新新的递增文件)
- C:\ FolderTemp(需要从一天只有文件执行,不含小时/时间戳)之前
的FolderData将收到的文件名,如果不是因为日期将是等于,如:
- SYS_PURCHASES_20170617.xls
- SYS_PURCHASES_20170618.xls
- SYS_PURCHASES_20170619.xls
如果我今天运行 .bat文件,我需要的是只有的将SYS_PURCHASES_20170618.xls复制到FolderTemp。这必须通过从文件名()获得最后8个字符并且检查其是否与TODAYDATE - 1匹配来完成。
这是可能的批处理文件,如果是这样,如何?
同样在Windows PowerShell(6.1)
接受的答案,如果它也确实经过这些步骤:
- 复制从folder1中的所有文件,文件夹2时,在文件名的日期=的currentdate - 1;
- 所有文件从文件夹2删除最后一个9个位数(将删除的日期和undescore“_YYYYMMDD”),因此该文件将SYS_PURCHASES.xls(需要考虑所有的文件扩展名,一样会有的.xls,.XLSX和。文本);
- 移动,并从文件夹2替换文件folder3(使用简单
move /y
) - 我相信这是可能做到这一点,在做第2步,无需要一个第三个文件夹。
你写了什么代码了吗?你可以请包括它吗? – sodawillow
日期前的文件名部分是否始终相同? – aschipfl
@sodawillow,我有一些被aschipfl替代的东西在** DISCLAMER **链接提供了我的答案。所以我需要替换FOR内部的东西并保持DO。 – mrbTT