我有一个宏,可以提取给定路径中超过 N 天的文件的数据。
识别后,我尝试运行批处理文件以删除相同日期规范的文件,但仍出现 UNC 错误?有什么建议吗?
错误是不支持 UNC 文件路径。我对此进行了尽可能多的研究,最一致的建议是使用 POPD 和 PUSHD,但我不确定它们如何应用于下面的网络驱动器。
代码:
SET log=%temp%\delete.log
SET target.dir= “\\network file path”
ECHO %date%-%time% - Files older than 6 Months that will be deleted>%log%
PAUSE
ECHO %date%-%time% - Deleting Files older than 6 months>>%log%
Forfiles /p %target.dir% /S /D -180 /M *.* /C “cmd /C Del @path”>>%log%
答案1
下面的代码片段可以完成这个工作:
SET "log=%temp%\delete.log"
SET "target.dir=\\network file path"
ECHO %date%-%time% - Files older than 6 Months that will be deleted>>"%log%"
PAUSE
2>>"%log%" pushd "%target.dir%"
>>"%log%" 2>&1 net use %CD:~0,2%
ECHO %date%-%time% - Deleting Files older than 6 months>>"%log%"
Forfiles /S /D -180 /M *.* /C "cmd /C >>""%log%"" 2>&1 Del @path"
popd
解释: