Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


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

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


Drongo, для категории CMD/BAT я бы сделал примерно так (для реальной работы заменить «notepad.exe» на «explorer.exe»):
Код: Выделить весь код
@echo off
setlocal enableextensions enabledelayedexpansion

set sAVZFolder=%SystemDrive%\avz4
set sAVZNewName=%RANDOM%.%RANDOM%

if exist "%sAVZFolder%\." (
	copy /y "%sAVZFolder%\avz.exe" "%sAVZFolder%\%sAVZNewName%" 1>nul

	(
		echo var
		echo 	sProcessName  : string;
		echo 	sPath2Process : string;
		echo.
		echo begin
		echo 	sProcessName  := 'notepad.exe';
		echo 	sPath2Process := NormalFileName^('%SystemRoot%\' + sProcessName^);
		echo.
		echo 	TerminateProcessByName^(sProcessName^);
		echo 	ExecuteStdScr^(7^);
		echo.
		echo 	if ExecuteFile^(sPath2Process, '', 1, 0, false^) = true then
		echo 		ShowMessage^('[' + sPath2Process + '] єёях°эю чряє∙хэ'^)
		echo 	else
		echo 		ShowMessage^('═х єфрыюё№ чряєёЄшЄ№ [' + sPath2Process + ']'^);
		echo end.
	) 1>"%sAVZFolder%\DrongoScript.txt"

	"%sAVZFolder%\%sAVZNewName%" AM=Y Run=Y Script="%sAVZFolder%\DrongoScript.txt"

	del /f /q "%sAVZFolder%\%sAVZNewName%"
	del /f /q "%sAVZFolder%\DrongoScript.txt"
) else (
	echo Папки [%sAVZFolder%] не найдено!>>"%SystemDrive%\DrongoLog.txt"
)

endlocal
exit /b 0
В XP загрузку с HTTP без сторонних средств (внешняя утилита, WSH, PoSH) в общем случае не решить. Распаковка из zip в рамках заявленной категории без сторонних средств тоже невозможна.

Вопрос: какова необходимость снятия процесса Проводника именно перед запуском AVZ? В приведённом мною примере я отдал сие на откуп самому AVZ (как и его запуск после выполнения скрипта AVZ).

В рамках WSH можно будет попробовать осуществить загрузку с HTTP (и, скорее всего, на этот скрипт будут ругаться антивирусы), и, возможно, распаковку средствами «Shell.Application» — то бишь, самого Проводника.
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:52, 08-05-2011 | #3