![]() |
Перемещение нескольких папок из папки E2E2~1
Вирус, на флешке, создает специальную папку в виде .. (две точки) и помещает в эту папку все папки, которые находяться в корне флешки и затем в корне, создает exe-файлы в виде "названия_перемещенной_папки.exe". Exe-файлы удаляет любой антивирус, а оригинальные папки не восстаналивает.
Попасть во внутрь папки .. через проводник нет возможности. Но можно решить проблему введя в командной строке: cd \E2E2~1 и затем переместить все папки на уровень выше. Последнее время очень много народу обращается с проблемой пропажи папок и потому хотелось бы как то автоматизировать эту работу, что бы, каждый раз не проделывать всю работу в ручную, то есть создать свой батник при запуске которого восстаналвивались бы все папки а папка "E2E2~1" удалялась. |
Код:
@Echo off ЗЗЫ: Бежит по всем дискам, начиная с [D:] и ищет там указанный каталог. Предполагаю, что если флешка оформатирована под NTFS, то указанного каталога там не будет... |
Протестировал Ваш скрип.
Файлы и каталоги успешно переноситься из папки E2E2~1 на уровень выше. Сама папка E2E2~1 по окончанию не удаляется, в связи с этим уменьшается размер свободного места на флешке, так как папки дублируются. p.s. тестировала на WinXP |
Цитата:
|
ameds, не пора ли начать искать вирус? P.S. http://wiki.drweb.com/index.php/Каталог_E2E2~1 |
El Sanchez вирус найден и удален, но каталог и файлы в нем остались.
NiOl появляется сообщение "Не все файлы из [...] удалось перенести (... шт)". |
ameds, возможно к ним не было доступа. Попробуйте сбросить аттрибуты RO/Hiden/System и еще раз запустить скрипт.
А так, если не секрет - там всего несколько файлов не переехало назад или все? Если все, то боюсь мой скрипт где-то глючит - я тогда попрошу Вас скинуть архив с теми файлами, что не представляют секрета - посмотреть на проблему по-подробнее. |
NiOl, скидывать файлы не имеет смысла, так как файлы я создавал сам для теста, обыкновенные, пустые txt-шники. Тоже самое и с папками + в них несколько тоже пустых файлов. При выполнении скрипта, txt из корня папки E2E2~1, перемещаются, то есть в папке E2E2~1 их не остается, а вот папки из этой папки (простите за тавтологию ) только копируются.
По совету друга, смог удалить папку следующим способом: RD \\.\G:\E2E2~1 /s Он рекомендовал обратить внимание на \\.\ сказал, что с помощью этого можно удалять системные папки (или что то в этом духе). В интернете не смог ничего найти по этому поводу, google отказывается искать. Можно ли это как то учесть в скрипте?? p.s. удалил у себя последний экземпляр папки E2E2~1, протестировать смогу только когда кто нить опять принесет фешку с этой папкой. |
ameds,
1. про запись "\\.\" слышу впервые, команды едят ее нормально, не ругаются 2. разницы по исполнению rd /s /q E2E2~1 и rd /s /q \\.\%WD:~0,2%\E2E2~1 не обнаружил - обе команды исправно удалили каталог с атрибутами SHR 3. попробуйте после строки echo Переносим файлы... вписать строку attrib *.* /s /d -s -h -r И ГЛАВНОЕ: Если Вы получили всплывающее окошко "Не все файлы из [disk:] удалось перенести (xxx шт)" - каталог уничтожить легко, но этого ни в коем случае не делается, т.к. файлы в нем не перенесены!!! т.к. они не копируются, а переносятся. Именно поэтому я и спросил - неперенеслись ВСЕ файлы или только ЧАСТЬ? |
Цитата:
Цитата:
Префикс \\.\, как и \\?\, позволяет производить операции с файлами, в названии которых содержатся зарезервированные имена, такие как LPT1, COM1, PRN, на NTFS-разделах, и через Проводник их не создашь и не убьешь. Поэтому либо через CMD с дописыванием префикса, либо через юникодный Far. |
Всё же есть разница, и разница достаточно существенная:
Path (computing) - Wikipedia, the free encyclopedia Naming Files, Paths, and Namespaces (Windows) Naming a Volume (Windows) Цитата:
Цитата:
Код:
╔═════════════════════════════ Редактор ═════════════════════════════╗ |
Iska, вторая ссылка хороша, я же просмотрел лишь следующие статьи: http://support.microsoft.com/kb/320081/ru http://support.microsoft.com/kb/315226/ Будем считать, что оба префикса существуют для обхода ограничений ОС - \\?\ для обхода лимита значения MAX_PATH, \\.\ для обхода запрета операций с файлами с зарезервированными именами. З.Ы. Под рукой у меня был только юникодный Far :) |
El Sanchez, спасибо за ссылки, полезная информация; даёт хорошие (и реальные) примеры применения данной технологии. «\\?\» для «обхода запрета операций с файлами с зарезервированными именами» годится тоже.
P.S. Одно время была оживлённая дискуссия на Far'овском форуме — нужно ли наделять Far интеллектом, дабы он не позволял манипулировать такими именами… К счастью, решили этого не делать и оставили такую возможность. А по созданию подобных имён в 2.0, Вы правы, возможностей действительно больше. |
Время: 16:46. |
Время: 16:46.
© OSzone.net 2001-