В нашей сети есть вирус, который устанавливает всем корневым каталогам атрибуты hidden & system на флешках и создает lnk-файлы, которые запускают cmd.exe, сам вирус и затем открываются каталоги, поэтому для лечения таких дисков я использую команды:
attrib -s -h -r /d /s
del /q /s *.lnk
rd /q /s recycler
Но есть проблема: команда "attrib -s -h -r /d /s" обрабатывает все файлы и каталоги рекурсивно, а если их много, то слишком долго (похоже, Windows сначала создает полный список файлов, а потом начинает обрабатывать все).
Есть ли возможность обрабатывать только каталоги НЕ файлы и не рекурсивно с bat-файлом?
Как в перле:
opendir D, '.';
while($_ = readdir D){
if(-d $_){
#do something
}
}
closedir D;
Спасибо.
-- UPD: 31.01.2012, решение:
for /f "delims=" %i in ('dir /ad /ah /b') do @attrib -r -s -h -a "%i"
(замените %i на %%i для использования в пакетных файлах)