Рейтинг:0

Удалите все папки на всех дисках с «foo» ИЛИ «bar» в имени папки с пакетным файлом.

флаг jp

я пытаюсь удалить все папки на всех дисках с указанным выше шаблоном именования, однако только на первом уровне папки, то есть непосредственно под буквой диска, например:

F:\имя этой папки содержит FOO и должно быть удалено

... без подтверждения и сообщения об ошибке (например, если папки не найдены), с пакетным файлом.

Я нашел это: удалить все папки с tmp в имени с помощью пакетного файла и мне интересно, является ли решение оттуда хорошей отправной точкой?

@эхо выключено
установить каталог = "c:\FOLDERLOCATION\"
FOR /D /R %dir% %%X IN (*.tmp) DO RMDIR /S /Q "%%X"
Пауза
выход
Рейтинг:1
флаг th

Читайте и следите ЗА - Условно выполнить команду несколько раз.. Вы можете подать заявку либо FOR-папки, или же Результаты команды FOR следующее:

FOR-папки (недостатки: нечувствительность к регистру; подстановочные знаки не позволяют использовать шаблон, подобный регулярному выражению, поэтому нам нужно запускать цикл больше раз).

@эхо выключено
установите "каталог = c:\FOLDERLOCATION\"
pushd "%dir%"
:: • echo для отладки
FOR /D /R %%X IN (*foo*) DO echo RMDIR /S /Q "%%~fX"
FOR /D /R %%X IN (*bar*) DO echo RMDIR /S /Q "%%~fX"
:: ââââ эхо для отладки
попд
Пауза

Результаты команды FOR в комбинации с найтиул (преимущества: найтиул независимо допускает как чувствительный к регистру, так и шаблон поиска, подобный регулярному выражению):

@эхо выключено
установите "каталог = c:\FOLDERLOCATION\"
FOR /F "delims=" %%X IN ('dir /B/S /A:D "%dir%" ^| findstr /I "foo|bar"') DO 2>NUL echo RMDIR /S /Q " %%~fX"
:: ECHO в строке выше просто для отладки
Пауза

Недостатком является то, что директор список генерируется статически, поэтому нам нужно перенаправлять сообщения об ошибках с помощью 2>НУЛ

флаг jp
Потрясающий! Можно ли также оставить пакетный файл работающим невидимо и дождаться появления новых дисков, таких как внешние жесткие диски и т. д., а затем действовать и на них?
флаг jp
Кстати, что делает набор "dir=c:\FOLDERLOCATION\"?
JosefZ avatar
флаг th
[Работа с кавычками в пакетных сценариях Windows] (https://stackoverflow.com/questions/535975/).Определите переменную как `set "dir=c:\FOLDERLOCATION\"` (ее значение не включает двойные кавычки) и используйте ее в кавычках, если это необходимо, например. `введите "%dir%%file%%ext%"` (указав `set "file=некоторое имя файла"` и `set "ext=.ext"`)

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.