如何用bat删除具有特定名称的文件夹,而不是具有该名称的子文件夹?

我想从\ TestMap \ Customer(x)中删除地图Hoi和Hoi2,但是我不想从TestMap \ Ei中删除Hoi1和Hoi2。

文件结构:

C:\ TestMap \ Customer1 \ Ei

  • C:\ TestMap \ Customer1 \ Ei \ Hoi
  • C:\ TestMap \ Customer1 \ Ei \ Hoi2

C:\ TestMap \ Customer1 \ Ham

C:\ TestMap \ Customer1 \ Hoi

C:\ TestMap \ Customer1 \ Hoi2

C:\ TestMap \ Customer1 \ Kaas

C:\ TestMap \ Customer1 \ Vis

让我们假装TestMap还有从Customer1到Customer 100的100个文件夹,这些文件夹都具有相同的子文件夹。因此,基本上,脚本需要针对TestMap中的每个文件夹运行。

我在StackOverflow上找到了一个代码,但是这将删除所有具有特定名称的文件夹,包括子文件夹。(Batch command to delete all subfolders with a specific name

有人可能知道解决方案吗?预先感谢。

moon_zero 回答:如何用bat删除具有特定名称的文件夹,而不是具有该名称的子文件夹?

您可以使用for /d循环检查是否存在并删除:

@echo off
for /d %%i in ("%userprofile%\Desktop\TestMap\*") do (
   if exist "%%~i\hoi\" rd /s /q "%%~i\hoi"
   if exist "%%~i\hoi2\" rd /s /q "%%~i\hoi2"
)
pause
本文链接:https://www.f2er.com/3125190.html

大家都在问