Skripts, lai meklētu un noņemtu visas slēptās mapes
Izdevums
Man ir nepieciešams skripts (VB vai BAT: priekšspecifiski BAT skripts), kas meklēs un dzēsīs visus failus un mapes (pat mapes, kurās ir apakšmapes un faili), kurai ir slēpts atribūts
konkrētā diskdzinī vai mapē. Tas ir skripts, kad palaižot, tas meklēs visus failus un mapes diskdzinī un izdzēsīs visus failus un mapes, kas ir paslēptas, bet neietekmēs dzēstos failus, kas nav slēpti.
Es tiešām gribu, lai tas atbrīvotos no dažiem šķebinošiem lieko vīrusu, kas nāk caur USB diskiem un atmiņas kartēm. Parasti tie neparādās pārlūkprogrammā un man ir manuāli jāizdzēš tie no komandrindas, mainot to atribūtus.
Komandas:
attrib filename.ext -h -rs, tad del del filename.ext
Ko es gribu faktiski iegūt kādu skriptu, lai padarītu procesu vienkāršāku nezinošiem cilvēkiem manā birojā, kurš neapzināti inficē datorus, palaižot vīrusu kodus. Pretvīrusu nav daudz. Es plānoju veikt exe no šī partijas skripta un pievienot to labajā klikšķa konteksta izvēlnē, kas atrodas diskos un mapēs. Man vienalga, vai šajā procedūrā tiek izdzēsti citi svarīgi faili ar slēpto atribūtu, jo parasti Avots ir Atmiņas kartes un vajadzīgie faili ir tikai attēlu faili, kas nav slēpti, un tāpēc šī procedūra to neietekmēs. Arī tad, ja noteiktu filtru var izveidot dažiem paplašinājumiem, piemēram, JPEG, neapstrādātiem utt., Lai tos nevarētu dzēst, tas būtu labāk.
Lūdzu, palīdziet man!
Risinājums
Lai izdzēstu visu koku, varat to izmantot:
FOR / F "žetoni = *" %% G IN ('DIR / B / AD / S * .gif *') DO RMDIR / S / Q %% G
DIR / B / AD / S * .gif *
uzskaitīti visi faili, kas nosaukti par .gif
/ B padara izeju "tukša" ar neko, bet tikai faila nosaukumu
/ AD ir tikai saraksti
/ S recesē apakšdirektorijas, lai iekļautu to saturu, ja tie atbilst saraksta kritērijiem
RMDIR / S / Q [ceļš / nosaukums]
dzēš direktoriju [ceļš / dir] un visus tā bērnus
FOR / F apstrādā katru vienumu (šajā gadījumā direktorijā) iestatījumā IN (“[komanda]”), izpildot DO [komandu]
%% G ir parametrs, kas šajā piemērā ir direktorijas nosaukums
"žetoni = *" saka, ka visas rindā izdzēstās rakstzīmes (ti, ar dir komandu) tiek piešķirtas parametram %% G
Slēpto failu izvēlei varat skatīt Microsoft komandrindas atsauci (turpmāk saite), lai iegūtu vairāk informācijas par FOR:
//technet.microsoft.com/en-au/library/bb491071.aspx
Turklāt šie ir mani padomi par slēpto failu darbību, apkopo sevi un mēģiniet:
XCOPY / H kopē failus, ieskaitot slēptos failus uz jaunu galamērķi
DEL / AH dzēš neslēptos failus no jaunās mapes
DEL / AH dzēš slēptos failus no sākotnējās mapes
Piezīme
Paldies Aadhi par šo padomu forumā.