Shell同目录可删文件,跨目录执行del命令提示File not found求助
解决Windows CMD中删除带空格路径文件的「File not found」问题
这个问题其实是Windows命令行对空格的处理逻辑导致的,很常见,别担心!
问题根源
你的路径里包含空格(比如Program Files),而CMD默认把空格当作命令参数的分隔符。当你输入del C:\Program Files\...时,CMD会把C:\Program当成第一个要删除的路径,Files\Program\...当成第二个路径——这两个路径显然都不存在,自然会提示「File not found」。
正确的解决方法
你需要用双引号把每个完整的文件路径单独包裹起来,告诉CMD这是一个完整的参数,而不是多个拆分的部分。正确的命令应该是:
del "C:\Program Files\Program\Directory\Subdirectory\one.txt" "C:\Program Files\Program\Directory\Subdirectory\Subsubdirectory\two.txt"
补充小技巧
如果觉得双引号输入麻烦,也可以用Windows的8.3短路径格式(把长文件名转换成8个字符以内的简写),比如Program Files的短路径通常是PROGRA~1,这样路径里没有空格,不需要引号:
del C:\PROGRA~1\Program\Directory\Subdirectory\one.txt C:\PROGRA~1\Program\Directory\Subdirectory\Subsubdirectory\two.txt
不过短路径可能不够直观,还是推荐双引号的方法更稳妥。
注意事项
- 一定要用双引号(
"),CMD不识别单引号(')作为路径的包裹符号; - 确保每个路径都被单独包裹,不要把多个路径放在同一个引号里。
内容的提问来源于stack exchange,提问作者brian-welch
相关产品推荐
相关产品推荐

