我试图删除所有目录与名称SoftView Cache
递归在某个位置与以下批处理文件:
set filename="SoftView Cache"
FOR /d /r "E:\Users\info\OneDrive - Les Entreprises Renouveau\Shared\Image\Plans" %%d IN (%filename%) DO rd /s /q "%%d"
pause
这只会返回“The system cannot find the file specified.”(系统找不到指定的文件)。我可以在打开的命令行窗口中看到,它正在搜索\"SoftView Cache"
,而不是应该搜索的\SoftView Cache
。我知道是目录名中的空格导致了这个问题。如何更正代码以查找并删除名为SoftView Cache
的目录?
2条答案
按热度按时间piwo6bdm1#
看起来Daemon-5处理了旧批处理命令的语法。
如果对PS等价物感兴趣,相信这个应该可以了......问候~
Get-ChildItem -Path "E:\Users\info\OneDrive - Les Entreprises Renouveau\Shared\Image\Plans" -Include "SoftView Cache" -Directory -Recurse -Force | Remove-Item -Recurse -Force
3qpi33ja2#
使用命令DIR按模式获取文件夹列表。
使用的选项:
使用命令FIND来避免包含前导空格的文件夹。选项**/I忽略大小写。
使用命令FOR /F解析输出,并将文件夹路径作为参数发送到命令RD**
批处理文件代码: