我试图创建一个批处理文件,可以将整个文件夹(包含文件和子文件夹)复制到放置在多个子文件夹中的多个子文件夹中。 事实上,我搞砸了命令并以所有文件和子文件夹复制到我想要的位置但不在文件夹中。
现在我想删除所有这些文件和子文件夹而不删除每个文件夹中的原始文件。
我在命令提示符窗口中直接尝试了这个命令,但它没有用,我不知道为什么因为输入和循环看起来是正确的。
for /d %a in (`E:\Mis documentos\Nueva carpeta\Filosofia\*') do for /d %b in ("%a\*") do for %c in ("*") do del %b\%c
这将返回“系统找不到指定的文件”,但执行的命令是{I},我要在该文件夹中删除。什么可能导致这种情况?
当我执行相同操作但回显%b /%c时,它会返回我要从文件夹中删除的项目的确切路径。 (请注意,我试图从我想要复制的文件夹中首先运行此命令,以便我可以独立恢复每个文件的名称。)
答案 0 :(得分:2)
最佳解决方案是将命令del
与开关/Q
(安静)和/S
(也在所有子目录中)同时使用D.Ddgg建议。
del /Q /S "E:\Mis documentos\Nueva carpeta\Filosofia\*.txt" "E:\Mis documentos\Nueva carpeta\Filosofia\*.jpg"
包含space
或其他特殊字符(如&()[]{}^=;!'+,`~
)的参数必须用双引号括起来。此特殊字符列表在命令提示符窗口cmd /?
中运行时输出,并查看帮助最后一页的最后一段。