Batch file 如何在所有子文件夹中仅删除和创建特定文件夹
我只想删除一个子文件夹,该子文件夹显示在多个文件夹中 例如,我有一个父文件夹Batch file 如何在所有子文件夹中仅删除和创建特定文件夹,batch-file,Batch File,我只想删除一个子文件夹,该子文件夹显示在多个文件夹中 例如,我有一个父文件夹Main source,而Main source包含100多个子文件夹 每个文件夹都有一些常用文件夹,如child\u AB,child\u BC 我想使用批处理文件删除“父”子文件夹中的所有子文件夹 你能告诉我怎么做吗 添加示例 父文件夹显示在D驱动器-->D:\Main\u Source中 主\u源包含以下文件夹 LDAP_A1 LDAP_A2 LDAP_A3 LDAP_A4 LDAP_A5 ...... ....
Main source
,而Main source
包含100多个子文件夹
每个文件夹都有一些常用文件夹,如child\u AB
,child\u BC
我想使用批处理文件删除“父”子文件夹中的所有子文件夹
你能告诉我怎么做吗
添加示例 父文件夹显示在D驱动器-->
D:\Main\u Source
中
主\u源包含以下文件夹
LDAP_A1
LDAP_A2
LDAP_A3
LDAP_A4
LDAP_A5
......
......
So on...
每个LDAP文件夹都有child\u AB
和child\u CD
我想删除每个子文件夹中的child\u AB
和child\u CD
如何使用批处理文件删除每个子文件夹中的child_AB
和child_CD
我不熟悉批处理文件编码。尝试以下方法:
@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
关键字并再次运行它以继续实际删除。从主源目录运行此脚本:
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
命令来调试它。读了两遍你的问题,我仍然不知道你到底想要什么。对于/d/r,这听起来像是一个微不足道的用法,但我真的说不出来。