我试图使用forfiles删除超过7天的文件。这些文件位于UNC路径中。以下是我正在使用的脚本。forfiles与UNC路径
Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path"
但是我得到一个错误,提到不支持UNC路径(\ machine \ share)。
似乎有可用的解决方法,但不能得到明确的答案谷歌搜索。
我试图使用forfiles删除超过7天的文件。这些文件位于UNC路径中。以下是我正在使用的脚本。forfiles与UNC路径
Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path"
但是我得到一个错误,提到不支持UNC路径(\ machine \ share)。
似乎有可用的解决方法,但不能得到明确的答案谷歌搜索。
尝试重现问题时出现错误,说明问题不在于FORFILES不支持UNC路径,但是CMD无法以UNC路径作为默认目录启动。如果这也是你的问题,有三种方法可以解决它。
您可以分配的UNC路径磁盘代号,通过NET USE
NET USE V: \\devexpress\C$
Forfiles -p V:\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path"
您可以绕过CMD
和直接直接的FORFILES
您可以绕过FORFILES
,并使用FOR
命令以及某些日期检查逻辑。见我回答这个堆栈溢出问题How can I check the time stamp creation of a file in a Windows batch script?
增强解决PA的第一个答案是:
PushD "\\devexpress\C$\FULL\" &&(
forfiles -s -m *.* -d -7 -c "cmd /c del /q @path"
) & PopD
pushd命令的UNC路径免费盘符自动映射,所以这是移植性的方法。 找到http://www.petri.co.il/forums/showthread.php?t=24241。
这实际上工作!谢谢@jirkamat –
我知道你不应该说“谢谢”,但谢谢!的xD – Michael