Как удалить папки с определенным именем, но не подпапки с этим именем с помощью bat? - PullRequest
0 голосов
/ 11 ноября 2019

Я хочу удалить карты Hoi и Hoi2 из \ TestMap \ Customer (x), однако я не хочу удалять Hoi1 и Hoi2 из TestMap \ Ei.

Структура файла:

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 есть еще 100папки от Customer1 до Customer 100 со всеми теми же подпапками. Поэтому в основном сценарий должен запускаться для каждой папки в TestMap.

Я нашел код в StackOverflow, однако при этом будут удалены ВСЕ папки с определенным именем, включая подпапки. ( Пакетная команда дляудалить все подпапки с определенным именем )

Кто-нибудь, кто может знать решение? Заранее спасибо.

1 Ответ

0 голосов
/ 11 ноября 2019

Вы можете просто выполнить цикл с 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...