我正在尝试删除以下目录结构下的文件夹(及其内容):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"
但是,我尝试解析然后应用代码失败。这是我的尝试:
for /f "usebackq delims=" %m in (`dir /b C:\Root:`) do rmdir /s /q "C:\Root\%m\Folder"
非常感谢任何评论和想法。提前谢谢!
答案 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
)
请注意,我将路径包装在引号中,当您的路径(与示例不同)包含空格时,这是必要的。