创建批处理文件以删除多个分隔的子目录

时间:2015-06-06 11:39:44

标签: batch-file

我正在尝试删除以下目录结构下的文件夹(及其内容):C:\Root\*\Folder,其中*是变量,单个父目录。我尝试使用:

rmdir /s /q "C:\Root\*\Folder"

但是,我学到的通配符可能只出现在最后一个目录中。我发现了一个类似的问题,涉及将文件复制到公共目的地。解决方案是:

for /f "usebackq delims=" %m in (`dir /b c:\users`) do copy "C:\Users\%m\AppData\Roaming\LordEpicalsFiles\Info.txt" "C:\My_Files\%m_Info.txt"

(Original Post)

但是,我尝试解析然后应用代码失败。这是我的尝试:

for /f "usebackq delims=" %m in (`dir /b C:\Root:`) do rmdir /s /q "C:\Root\%m\Folder"

非常感谢任何评论和想法。提前谢谢!

1 个答案:

答案 0 :(得分:0)

这里将为您提供C:\ users:

中的目录列表
for /d %d in ("C:\Root\*") do echo %~nd

根据您是否需要完整路径(即包含C:\Root\),您可以将~n退出

所以这个(小心使用)会删除你想要的东西:

for /d %d in ("C:\Root\*") do echo rd "%d\Folder" /S /Q 

(如果您确定这样做了,请删除echo

请注意,我将路径包装在引号中,当您的路径(与示例不同)包含空格时,这是必要的。