Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 如何在所有子文件夹中仅删除和创建特定文件夹_Batch File - Fatal编程技术网

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,这听起来像是一个微不足道的
用法,但我真的说不出来。