Скрипт за търсене и премахване на всички скрити папки

Проблем

Имам нужда от скрипт (VB или BAT: Preferebly BAT Script), който ще търси и изтрива всички файлове и папки (дори папките, които съдържат подпапки и файлове), които имат скрит атрибут

в определено устройство или папка. Това е скриптът, когато се стартира, ще търси всички файлове и папки в устройството и ще изтрие всички файлове и папки, които са скрити, но няма да засегне изтритите файлове, които не са скрити.

Аз всъщност искам това за да се отървем от някакъв неприятен вирус, който идва чрез USB устройства и карти с памет. Обикновено те не се появяват в изследователя и аз трябва да ги изтрия ръчно от командния ред, като променя техните атрибути.

Командите:

 attrib filename.ext -h -r -s след това del del filename.ext 

Това, което искам всъщност е да си направя някакъв скрипт, за да направим процеса по-лесен за невежите хора тук в моя офис, които несъзнателно заразяват компютрите чрез пускане на вирусните кодове. Антивирусът не помага много. Планирам да направя exe от този партиден скрипт и да добавя това в контекстното меню с десния бутон на мишката върху дисковете и папките. Не ме интересува дали други важни файлове със скрит атрибут се изтриват в тази процедура, тъй като обикновено източникът са карти с памет и файловете, които са необходими, са само файлове с изображения, които не са скрити и следователно няма да бъдат засегнати от тази процедура. Също така, ако някой филтър може да бъде създаден за някои разширения като jpeg, raw и т.н., за да не бъде изтрит, би било по-добре.

Моля, помогнете ми.

Решение

За да изтриете цялото дърво, можете да го използвате:

 FOR / F "символи = *" %% G IN ("DIR / B / AD / S * .gif *") DO RMDIR / S / Q %% G 

DIR / B / AD / S * .gif *

изброява всички файлове с име ".gif"

/ B прави изхода "голи" само с името на файла

/ AD изброява само директории

/ S рекурсира поддиректории, за да включи тяхното съдържание, ако те отговарят на критериите за регистрация

RMDIR / S / Q [път / име]

изтрива директорията [path / dir] и всичките му деца

FOR / F обработва всеки елемент (в този случай директории) в набора IN ('[command]') чрез изпълнение на командата DO [команда]

%% G е параметър, който в този пример е име на директория

"tokens = *" казва, че всички символи, изведени в ред (т.е. с командата dir), се присвояват на параметъра %% G

За избор на скрити файлове можете да се обърнете към Microsoft Command Line Reference (по-долу линк) за повече информация за FOR:

//technet.microsoft.com/en-au/library/bb491071.aspx

Освен това това са моите съвети за работа със скритите файлове, компилирайте се и опитайте:

XCOPY / H копира файловете, включително скритите файлове, на ново местоназначение

DEL / AH изтрива не-скритите файлове от новата папка

DEL / AH изтрива скритите файлове от оригиналната папка

Забележка

Благодарение на Aadhi за този съвет на форума.

Предишна Статия Следваща Статия

Топ Съвети