如何仅当父目录存在于 Windows 命令提示符下时才删除文件



我正在使用此批处理脚本删除文件

FORFILES /P "X:test" /S /M *.bak /C "CMD /C DEL @path"

但是,X 驱动器是主动/被动群集上的资源。我必须在两个节点上运行批处理文件。两个问题...

  1. 这是最好的方法吗?
  2. 我希望批处理在删除文件之前查找 X 驱动器 - 你知道一种方法吗?我不希望它在被动群集上运行,因为 X 驱动器不会在其上。

简单地使用 DEL 而不是 FORFILES 会快得多。您可以使用 IF EXISTS 测试根路径是否存在。

if exist "x:test*.bak" del /q /s "x:test*.bak"

我只是尝试将文件复制到文件夹中。然后检查该文件是否存在。如果是这样,我删除该文件,然后我可以继续。