与UNCpath的文件

我正在尝试使用forfiles删除超过7天的文件。 这些文件位于UNCpath中。 以下是我正在使用的脚本。

Forfiles -p \\devexpress\C$\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path" 

但是我得到一个错误提到UNCpath(\ machine \ share)不被支持。

似乎有可用的解决方法,但不能得到明确的答案谷歌search。

尝试重现该问题时得到的错误说,问题不在于FORFILES不支持UNC路径,但CMD不能以UNC路径作为默认目录启动。 如果这也是你的问题,有三种方法来解决它。

  1. 您可以通过NET USE将UNC路径分配给磁盘盘符

     NET USE V: \\devexpress\C$ Forfiles -p V:\FULL\ -s -m *.* -d -7 -c "cmd /c del /q @path" 
  2. 您可以绕过CMD并直接在FORFILES的-C选项中直接使用一些ERASEFILE可执行实用程序

  3. 您可以绕过FORFILES并使用FOR命令和一些日期检查逻辑来代替。 看到我的答案堆栈溢出问题如何检查Windows批处理脚本中的文件的时间戳创建?

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找到。