Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   востановление атрибутов файлов (http://forum.oszone.net/showthread.php?t=267966)

rocet 12-09-2013 14:20 2216652

востановление атрибутов файлов
 
после действия таких вирусов как malamacika, resycler, trashes и т.д. файлы на съёмном носителе приобретают атрибуты "системный", "скрытый".
вот такой файл нашёл в нете
читать дальше »
@echo off
attrib -s -h -a /s /d

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

Foreigner 12-09-2013 16:00 2216698

Цитата 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 2216711

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

Foreigner 12-09-2013 16:26 2216721

Iska, Подводный камень два: при вводе одного лишь имени, без указания при имени
Цитата:

«\», будет обрабатываться текущий каталог на диске
Если диск на котором находишься, иначе все нормально:
Код:

  > pushd d:
           
 + > cd   
d:\       
           
 + > popd


Iska 12-09-2013 16:59 2216742

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 2216762

А вообще, да, согласен. Что-то не то с pushd

rocet 13-09-2013 08:19 2217134

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

Iska 13-09-2013 11:14 2217195

Добавьте в конец (не проверялось):
Код:

copy /y "%~f0" "%disk%\"


Время: 20:02.

Время: 20:02.
© OSzone.net 2001-