从Windows或Unix中的根目录中删除子目录中名为“XXX”的所有目录

时间:2012-05-25 12:24:06

标签: cmd rmdir

我有很多目录需要删除一些子目录。有没有办法deltree / rmdir,以便标题为“TAB”,“Tab_old”和其中的文件的所有目录都被删除。

目录结构就像

root>townx>TAB
root>towny>
root>towny>TAB
root>towny>zone1>
root>towny>zone1>Tab

等...所以应该删除所有“TAB”目录。

===== edmastermind29建议进程输出====

$ find / -name "TAB" -type d -exec rm -rf {} \;

atgisuser@ATGISLAPTOP02 /c/scratch/Test_Lidar
$ ls
Ath_test.csv  LAS               Success_LOG.txt  asc
Contours      Orthophotomosaic  XYZ              schema.ini


atgisuser@ATGISLAPTOP02 /c/scratch/Test_Lidar
$ cd contours

atgisuser@ATGISLAPTOP02 /c/scratch/Test_Lidar/contours
$ ls
Atherton  TAB

atgisuser@ATGISLAPTOP02 /c/scratch/Test_Lidar/contours
$ 

上面的“TAB”目录应该删除......

2 个答案:

答案 0 :(得分:4)

以下是Windows CMD解决方案

for /f "delims=" %F in ('dir /b /s /ad x:\rootFolder ^| findstr /le "\TAB \Tab_old"') do 2>nul rd /s /q "%F"

如果在批处理脚本中使用,则%F必须更改为%%F

答案 1 :(得分:2)

find / -name "XXX" -type d -exec rm -rf {} \;

/搜索整个文件系统。如果您只想搜索根文件夹,那么您将使用/root

-name的用法区分大小写。但是,-iname忽略区分大小写。

简单来说,上面的命令说明:在整个文件系统中搜索“XXX”,一个目录。找到“XXX”后,以强制方式递归删除“XXX”目录中的内容。