从所有子文件夹中删除具有特定名称的子文件夹?

我知道如何删除一个单独的子文件夹或多个掩码:

rmdir / s / q C:\ Somedir \ DirToDelete

要么

rmdir / s / q C:\ Somedir \ DirsToDelete *

但是我想从C:\ Somedir中的所有子文件夹中删除名称为DeleteMe的所有子文件夹。

想法?

首先你要列出你想要删除的所有目录。 然后用它来删除它们。 这里有一个快速和肮脏的例子,使用你放在那里。

for /f "usebackq" %%a in (`"dir C:\Somedir /ad/b/s DirsToDelete"`) do rmdir "%%a" 

请在为您的环境启动之前对其进行testing。 我通常会用echo来replacermdir,以确保它能正常工作。

另一种方法是(只有PowerShell)

  Remove-Item -path e:\path\*\path\*\* -Filter *DeleteMe* -WhatIf 

删除最后一个“星号”pathrecursion的所有DeleteMe dirs。

-WhatIf =只显示哪些dirs将删除,不这样做 – 很好的检查前摧毁其他数据:)

更新1经过一些劳动…这个更新是更好的…行之前只能删除空文件夹。 这可以删除内容的文件夹:

 get-childitem -path E:\path\*\path\*\* -filter *DeleteMe* | remove-item -whatif -force -recurse