我只想删除一个子文件夹,该子文件夹显示在许多文件夹中。
例如,我有一个父文件夹Main source
,Main Source
包含超过100个子文件夹。
每个文件夹都有一些常用文件夹,例如child_AB
,child_BC
。
我想使用批处理文件删除“Parent”子文件夹中的所有子文件夹。
你能告诉我怎么做吗?
添加示例
D驱动器中显示的父文件夹 - > D:\Main_Source
。
Main_Source包含以下文件夹
LDAP_A1
LDAP_A2
LDAP_A3
LDAP_A4
LDAP_A5
......
......
So on...
每个LDAP文件夹都有child_AB
和child_CD
。
我想删除每个子文件夹中的child_AB
和child_CD
。
如何使用批处理文件删除每个子文件夹中的child_AB
和child_CD
?
我是批处理文件编码的新手。
答案 0 :(得分:0)
试试这个:
@ECHO OFF
SET "rootdir=D:\Main_Source"
FOR /D %%A IN ("%rootdir%\LDAP_*") DO (
FOR /D %%B IN ("%%A\*") DO (
IF "%%~nxB"=="child_AB" ECHO RMDIR /S /Q "%%B"
IF "%%~nxB"=="child_CD" ECHO RMDIR /S /Q "%%B"
)
)
外部循环遍历根文件夹中的父子文件夹,内部循环遍历父项的子子文件夹。
正如您所看到的,这个特定的脚本只是回显了一个RMDIR
命令列表而不是实际执行它们。我建议您先验证它产生的路径,然后只删除ECHO
个关键字并再次运行以继续实际删除。
答案 1 :(得分:0)
从Main_Source目录运行此脚本:
for /F "delims=" %%a in ('dir /ad /b') do (
if exist "%%a\child_AB" rd /s /q "%%a\child_AB"
if exist "%%a\child_CD" rd /s /q "%%a\child_CD"
)
您可以添加echo
命令进行调试。