Пакетный поиск Windows, если заявление
Предположим, файловая система имеет следующий формат
Папка А
---> Папка 1
---> Папка 2
---> Папка 3 и т. Д.
Папка Б
---> Папка 4
---> Папка 2
---> Папка 3
Папка С
---> Папка 1
---> Папка 2
---> Папка 3
---> Папка 4
Мне нужно пройти на один уровень глубиной и только на один уровень и найти "Папка 1". Если папка 1 есть, удалите папку 2 и папку 3.
Я могу использовать пакетный файл Windows или другой язык программирования.
1 ответ
Решение
Следующий скрипт (или строка) проверит все каталоги в текущем каталоге на один уровень на наличие Folder1\NUL
, известный уродливый трюк, чтобы отличить файлы от каталогов. Будьте осторожны с каталогами, которые содержат пробелы; они могут быть проанализированы как два отдельных места для rmdir
нанести ему ущерб.
for /D %%i in (*) do (
if exist .\%%i\Folder1\NUL (
rmdir /S .\%%i\Folder2
rmdir /S .\%%i\Folder3
)
)