Войти

Показать полную графическую версию : востановление атрибутов файлов


rocet
12-09-2013, 14:20
после действия таких вирусов как malamacika, resycler, trashes и т.д. файлы на съёмном носителе приобретают атрибуты "системный", "скрытый".
вот такой файл нашёл в нете
@echo off
attrib -s -h -a /s /d
но дело в том что этот файл работает толь находясь на том же носителе
1) мне хотелось бы чтоб он мог запускаться откуда угодно.
2) выдавал просьбу ввесть букву диска для востановки (F:\ и т.д.)
3) удалял на съёмном носителе ярлыки (*.ink)
буду очень благодарен за помощь.

Foreigner
12-09-2013, 16:00
Цитата rocet

1) мне хотелось бы чтоб он мог запускаться откуда угодно.
2) выдавал просьбу ввесть букву диска для востановки (F:\ и т.д.)
3) удалял на съёмном носителе ярлыки (*.ink)


@echo off
setlocal

set /p disk="Enter usb-drive letter: "

if defined disk ( cd /d %disk% ) else ( goto:eof )

attrib -s -h -r /s /d
del /s /a *.ink

PS. Без проверки на правильность выбора диска. Будь внимателен, не перепутай букву.

Iska
12-09-2013, 16:15
Подводный камень раз: при вводе некорректного имени обработка пойдёт в текущем каталоге. Подводный камень два: при вводе одного лишь имени, без указания при имени «\», будет обрабатываться текущий каталог на диске, а он, теоретически, может оказаться и не корневым в данный момент.

Foreigner
12-09-2013, 16:26
Iska, Подводный камень два: при вводе одного лишь имени, без указания при имени «\», будет обрабатываться текущий каталог на диске
Если диск на котором находишься, иначе все нормально:

> pushd d:

+ > cd
d:\

+ > popd

Iska
12-09-2013, 16:59
Foreigner, неа. Вот что я имел в виду:
C:\>u:

U:\>cd Drivers

U:\Drivers>dir /b
#Other
Access Points
Notebooks
Printers
Scanners
Videocards

U:\Drivers>c:

C:\>pushd u:

U:\Drivers>dir /b
#Other
Access Points
Notebooks
Printers
Scanners
Videocards

U:\Drivers>
Потому лучше делать не «pushd <Letter>:», а принудительно — «pushd <Letter>:\».

Foreigner
12-09-2013, 17:19
А вообще, да, согласен. Что-то не то с pushd (http://i.imgur.com/Sxd9HrS.png?1)

rocet
13-09-2013, 08:19
Значит скрипт можно использовать, только обязательно вводить еще " :\" :yes
А если сделать 2 Bat: один восстанавливает, а второй копирует предыдущий на флешку с указанием буквы диска? :search:

Iska
13-09-2013, 11:14
Добавьте в конец (не проверялось):
copy /y "%~f0" "%disk%\"




© OSzone.net 2001-2012