Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Перемещение нескольких папок из папки E2E2~1

Ответить
Настройки темы
CMD/BAT - Перемещение нескольких папок из папки E2E2~1

Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Вирус, на флешке, создает специальную папку в виде .. (две точки) и помещает в эту папку все папки, которые находяться в корне флешки и затем в корне, создает exe-файлы в виде "названия_перемещенной_папки.exe". Exe-файлы удаляет любой антивирус, а оригинальные папки не восстаналивает.

Попасть во внутрь папки .. через проводник нет возможности. Но можно решить проблему введя в командной строке:
cd \E2E2~1
и затем переместить все папки на уровень выше.

Последнее время очень много народу обращается с проблемой пропажи папок и потому хотелось бы как то автоматизировать эту работу, что бы, каждый раз не проделывать всю работу в ручную, то есть создать свой батник при запуске которого восстаналвивались бы все папки а папка "E2E2~1" удалялась.

Отправлено: 17:52, 11-06-2010

 

Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@Echo off
SetLocal EnableExtensions
set Disks=D E F G H I J K L M N O P Q R S T U V W X Y Z
set Home=%CD%

echo Ищем диски с каталогом ".." в корне...
for %%D in (%Disks%) do if exist %%D:\E2E2~1 call :Found %%D:\E2E2~1
if not defined WD (
msg * /time:5 "Каталог [..] не обнаружен"
exit 2
)
cd %Home%
%Home:~0,2%
exit


:Found
set WD=%1
cd %WD%
%WD:~0,2%

echo.
echo Удаляем все *.EXE из корня [%WD:~0,2%]
del /f ..\*.exe 2>nul

echo Восстанавливаем структуру каталогов [%WD:~0,2%]
xcopy *.* \*.* /E /C /I /H /T /Y

echo Переносим файлы...
move *.* \ 2>nul
for /f "tokens=* delims=" %%P in ('dir /ad /b /s *.*') do call :Proceed "%%P"
rem Все ли файлы перенесены?
for /f "tokens=* delims=" %%L in ('dir /a-d /b /s *.* 2^>nul ^| find /c ":"') do set Lines=%%L
if %Lines%==0 (cd .. & rd /s /q E2E2~1 & echo Удаляем каталог) else msg * "Не все файлы из [%WD%] удалось перенести (%Lines% шт)"
exit /b


:Proceed
set Pth=%~1\
set Pth=%Pth:~10,-1%
move "%Pth%\*.*" "\%Pth%" 2>nul
exit /b
ЗЫ: НЕ ИМЕЯ СВОБОДНОГО НОСИТЕЛЯ (И ТЕМ БОЛЕЕ ЗАРАЖЕННОГО ЭТИМ СОРТОМ ВИРУСА) НЕ СМОГ ПОЛНОЦЕННО ПРОТЕСТИРОВАТЬ СКРИПТ! ИСПОЛЬЗУЙТЕ НА СВОЙ СТРАХ И РИСК!!!

ЗЗЫ: Бежит по всем дискам, начиная с [D:] и ищет там указанный каталог. Предполагаю, что если флешка оформатирована под NTFS, то указанного каталога там не будет...

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 20:08, 11-06-2010 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


Протестировал Ваш скрип.
Файлы и каталоги успешно переноситься из папки E2E2~1 на уровень выше. Сама папка E2E2~1 по окончанию не удаляется, в связи с этим уменьшается размер свободного места на флешке, так как папки дублируются.
p.s. тестировала на WinXP

Отправлено: 17:18, 16-06-2010 | #3


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Цитата ameds:
Сама папка E2E2~1 по окончанию не удаляется »
т.е. Выскакивает сообщение "Не все файлы из [...] удалось перенести (... шт)" или отловлен "глюк"?

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 13:49, 17-06-2010 | #4


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1271
Благодарности: 1029

Профиль | Отправить PM | Цитировать



ameds, не пора ли начать искать вирус?

P.S. http://wiki.drweb.com/index.php/Каталог_E2E2~1
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:23, 18-06-2010 | #5


Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


El Sanchez вирус найден и удален, но каталог и файлы в нем остались.

NiOl появляется сообщение "Не все файлы из [...] удалось перенести (... шт)".

Отправлено: 18:35, 19-06-2010 | #6


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


ameds, возможно к ним не было доступа. Попробуйте сбросить аттрибуты RO/Hiden/System и еще раз запустить скрипт.
А так, если не секрет - там всего несколько файлов не переехало назад или все? Если все, то боюсь мой скрипт где-то глючит - я тогда попрошу Вас скинуть архив с теми файлами, что не представляют секрета - посмотреть на проблему по-подробнее.

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 22:42, 19-06-2010 | #7


Новый участник


Сообщения: 21
Благодарности: 0

Профиль | Отправить PM | Цитировать


NiOl, скидывать файлы не имеет смысла, так как файлы я создавал сам для теста, обыкновенные, пустые txt-шники. Тоже самое и с папками + в них несколько тоже пустых файлов. При выполнении скрипта, txt из корня папки E2E2~1, перемещаются, то есть в папке E2E2~1 их не остается, а вот папки из этой папки (простите за тавтологию ) только копируются.

По совету друга, смог удалить папку следующим способом:
RD \\.\G:\E2E2~1 /s

Он рекомендовал обратить внимание на \\.\ сказал, что с помощью этого можно удалять системные папки (или что то в этом духе). В интернете не смог ничего найти по этому поводу, google отказывается искать.

Можно ли это как то учесть в скрипте??

p.s. удалил у себя последний экземпляр папки E2E2~1, протестировать смогу только когда кто нить опять принесет фешку с этой папкой.

Отправлено: 13:56, 20-06-2010 | #8


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


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 шт)" - каталог уничтожить легко, но этого ни в коем случае не делается, т.к. файлы в нем не перенесены!!! т.к. они не копируются, а переносятся. Именно поэтому я и спросил - неперенеслись ВСЕ файлы или только ЧАСТЬ?

-------
Как сказало Дерево Дровосеку: "я - пень".


Отправлено: 16:17, 21-06-2010 | #9


Аватара для El Sanchez

Ветеран


Contributor


Сообщения: 1271
Благодарности: 1029

Профиль | Отправить PM | Цитировать



Цитата ameds:
Он рекомендовал обратить внимание на \\.\ сказал, что с помощью этого можно удалять системные папки (или что то в этом духе). В интернете не смог ничего найти по этому поводу, google отказывается искать. »
Цитата NiOl:
про запись "\\.\" слышу впервые, команды едят ее нормально, не ругаются »
ameds, NiOl,

Префикс \\.\, как и \\?\, позволяет производить операции с файлами, в названии которых содержатся зарезервированные имена, такие как LPT1, COM1, PRN, на NTFS-разделах, и через Проводник их не создашь и не убьешь. Поэтому либо через CMD с дописыванием префикса, либо через юникодный Far.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:46, 22-06-2010 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Перемещение нескольких папок из папки E2E2~1

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
7 / 2008 R2 - Перемещение папки Users в Windows 7 bab00n Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 28 17-03-2015 12:11
CMD/BAT - [решено] Перемещение устаревших файлов из папки в резервную папку zavoruev Скриптовые языки администрирования Windows 22 28-05-2010 14:04
Разное - [решено] Перемещение папки Users nikkor7 Microsoft Windows Vista 2 13-04-2009 11:58
[решено] Перемещение папки Users и изменение букв дискам средствами WAIK alcatraz Автоматическая установка Windows 11 / 10 / 8 / 7 / Vista 10 28-02-2009 03:04




 
Переход