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

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

Котяра 13-02-2012 20:09 1857953

Сделать все папки в определенной папке нескрытыми и несистемными
 
Требуется автоматизированное решение данной задачи, на BAT, VBS/JS или Autoit3.

Morpheus 13-02-2012 20:18 1857961

Код:

attrib /?
Удивительно даже

Котяра 13-02-2012 20:26 1857965

Цитата:

Отображение или изменение атрибутов файлов.

ATTRIB [+R | -R] [+A | -A ] [+S | -S] [+H | -H] [+I | -I]
[диск:][путь][имя_файла] [/S [/D] [/L]]

+ Установка атрибута.
- Снятие атрибута.
R Атрибут "Только чтение".
A Атрибут "Архивный".
S Атрибут "Системный".
H Атрибут "Скрытый".
I Атрибут "Неиндексированное содержимое".
[диск:][путь][имя файла]
Указание файла или набора файлов для обработки.
/S Обработка файлов с указанными именами в текущем каталоге
и во всех его подкаталогах.
/D Обработка файлов и каталогов.
/L Работать с атрибутами самой символической ссылки,
а не целевого объекта этой символической ссылки.
Что именно нужно сделать: надо сделать все папки нескрытыми, несистемным и не "только для чтения" (-s -h -r). Но при этом надо не трогать файлы. В подпапки лазить не обязательно (не нужно, вообще-то) - надо сделать папки первого уровня нескрытыми и т.п.

Как именно добиться нужного результата?

Что проверено: attrib.exe -s -h -r * /S /D лишает атрибутов все объекты (файлы и папки), [b]attrib.exe -s -h -r * /S/b] - только файлы, но и в подпапках. Впрочем, иного результата сложно ожидать, если вдумчиво прочитать справку к команде.

Небольшое пояснение, зачем это нужно - восстанавливать папки после Autorun-вируса.

Morpheus 14-02-2012 00:58 1858146

Котяра, не знаком с работой этих вирусов, но чтение Solved: Batch file to hide/unhide a folder - Tech Support Guy Forums наводит на мысль, что скрытые делаются не скрытыми и наоборот. C файлами происходит аналогично?
Тогда нужен чуть более интеллектуальный скрипт, который будет менять атрибуты на противоположные в зависимости от текущих. Он есть в указанной теме.

Или всё-таки тупо все папки делаются скрытыми, а файлы не трогаются?

Iska 14-02-2012 02:18 1858182

Цитата:

Цитата Morpheus
Или всё-таки тупо все папки делаются скрытыми, а файлы не трогаются? »

Не все, но именно папки. В затронутую папку кладутся исполняемые файлы с основным значком в виде обычной папки, имеющие имена, совпадающие с именами подкаталогов, сами подкаталоги делаются скрытыми. Настройки Проводника меняются таким образом, чтобы не отображались скрытые файлы и папки, не отображались расширения у зарегистрированных типов файлов (собственно — настройки по умолчанию). Всё это делается с целью ввести пользователя в заблуждение, чтобы он принял исполняемый файл с вирусом за скрытую теперь папку. Понятно, что при попытке входа в такую «файл-папку» будет запущен исполняемый файл.

Подходящего изображения не нашлось, пришлось имитировать. Видимая:



и реальная:



картины.

Вон уже программы для этого пишут: Download USB Hidden Folder Fix 1.1 Free - Fixes the "invisible folders" in USB media. - Softpedia ;).

Цитата:

Цитата Котяра
Как именно добиться нужного результата? »

Непосредственно из командной строки, с обработкой вложенных папок:
Код:

for /r %i in (.) do attrib.exe -r -h -s "%~fi"

Котяра 14-02-2012 02:18 1858183

Morpheus, Autorun-вирус (одна из его разновидностей) делает папки скрытыми и системными, а сам создаёт EXE-ложные папки, которые запускают вирус. Также часто создает папку вроде "RECYCLER", "ACC2" или "F1" и т.п. со своим телом. И если удаление тел вируса (EXE) можно поручить обычному антивирусу, то скрытые папки приходится "восстанавливать" вручную, командой attrib -s -h -r "имя папки".

Iska, спасибо огромное! Если можно, хотелось бы ещё вариант без обработки вложенных папок. Хотелось бы почитать где-нибудь доступно про команду "for" - команда интересная, хотелось бы научиться с ней работать.

Iska 14-02-2012 02:53 1858196

Дополнил своё предыдущее сообщение.

Котяра, сделать всё можно. Только овчинка выделки не стоит. Берёте Far Manager, Total Commander, або любой другой файловый менеджер, выделяете потребные скрытые папки (или делаете их поиск) и выставляете им атрибуты чохом.

По Far Manager'у могу даже записать Вам ролик, как искать и находить такие папки, как переносить ссылки на них во временную панель (например, чтобы исключить какие-то из них «ручками» из последующей обработки), и как затем снимать у них атрибуты. Ролик можно будет воспроизвести в самом Far Manager'е.

Котяра 14-02-2012 03:01 1858200

Iska, хотелось бы написать утилиту для неопытных пользователей.

Iska 14-02-2012 03:03 1858201

Цитата:

Цитата Котяра
Хотелось бы почитать где-нибудь доступно про команду "for" - команда интересная, хотелось бы научиться с ней работать. »

На русском?

Цитата:

Цитата Котяра
Iska, хотелось бы написать утилиту для неопытных пользователей. »

Какого плана?

P.S.
Цитата:

Цитата Iska
Вон уже программы для этого пишут: Download USB Hidden Folder Fix 1.1 Free - Fixes the "invisible folders" in USB media. - Softpedia ;). »


Котяра 14-02-2012 03:16 1858210

Iska, на английском тоже можно. Спасибо за ссылку на утилиту! Утилиту хотелось бы написать как раз таки убирающую атрибут скрытости, также возможно убивающую известные файлы вируса. Просто, как мне кажется, возможно, для данной задачи правильнее идти только по папкам первого уровня - т.к. у пользователя могут быть свои родные скрытые папки в подпапках, а вирусов, "шалящих" по подпапкам, я не встречал. Хотя, в принципе, вероятность наличия вообще каких-то преднамеренно скрытых папок на флешке стремится к нулю. Другое дело файлы.

Ещё раз спасибо за помощь и составленную команду!

Iska 14-02-2012 04:52 1858232

Цитата:

Цитата Котяра
на английском тоже можно. »

Кроме MSDN хорошие описания с примерами есть у Саймона: For - Loop through files (не забудьте прогуляться по ссылкам «Related» в низу страницы), у Роба: Batch files - FOR loops (так же не забываем пройтись по ссылкам на: Batch files - The FOR command: Windows NT 4/Windows 2000 Syntax, Batch Files - Variable Expansion in FOR Loops, NT's FOR /F command: tokens and delims).

Цитата:

Цитата Котяра
Утилиту хотелось бы написать как раз таки убирающую атрибут скрытости, также возможно убивающую известные файлы вируса. »

Можете попросить автора сего: Зоркий глаз 5.409. Как удалить autorun-вирус с флешки?. Мне же, ей-ей, быстрее, проще и надёжнее проделать сие в Far Manager'е «ручками».

Котяра 14-02-2012 19:17 1858773

Iska, спасибо!


Время: 07:42.

Время: 07:42.
© OSzone.net 2001-