【发布时间】:2018-04-10 13:21:54
【问题描述】:
我有一个这样的目录:
D:\DATA\DATA2\Demo&_1\Demo\1\deployment
D:\DATA\DATA2\Demo&_1\Demo\2\deployment
D:\DATA\DATA2\Demo&_1\Demo\3\deployment
我正在运行以下批处理文件命令来删除 Demo 文件夹中存在的所有部署文件夹:
cd /d D:\DATA\DATA2\Demo&_1\Demo
FOR /d /r . %%d IN (deployment) DO @IF EXIST "%%d" rd /s /q "%%d"
当我在文件夹名称(Demo&_1)中有特殊字符时,上述命令不起作用(不删除部署文件夹),当我没有特殊字符时,它正在工作(删除部署文件夹)。
例如如果我将文件夹“Demo&_1”的名称更改为“Demo1”,上面的批处理文件可以正常工作,但如果有特殊字符则不能工作。
【问题讨论】:
-
为什么不简单地做
for /D /R "D:\DATA\DATA2\Demo&_1\Demo" %%d IN (deployment) DO @IF EXIST "%%d" rd /s /q "%%d"如果这样可以,我会发布答案。 -
你是对的。谢谢你的帮忙。如果你把它作为答案,我会接受它
-
很高兴它有帮助,答案已发布。
标签: batch-file cmd