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

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

Котяра 10-07-2008 20:08 848097

Создание ярлыка для MRT
 
Есть такая программа - Средство удаления вредоносных программ. Это продукт Microsoft, созданный как аналог CureIt, AVPTool и т.д. Конечно, до названных продуктов MRT (а именно так - "Malicious Removal Tool", называется по-английски эта программа) этой программе очень далеко, но у нее есть плюс - малый размер. Хотя на моей системе MRT (июнь) нашел вирус (который, впрочем, еще в апреле обнаружил CureIt) даже при быстрой проверке. Кто-то предлагает удалять MRT, так чтобы он не автообновлялся, а я предлагаю создавать ярлык. Как сделать это автоматически? Читайте дальше!
Для всего этого нам нужна программа WinRAR (я тестировал на версии 3.20 - о версиях 3.71 ничего сказать не могу: там изменены SFX-модули).
1. Создаем пустой файл с именем mrt.exe в блокноте.
2. Запаковываем его в ZIP SFX архив.
3. Делаем следующий комментарий:
Код:

;В комментарии ниже находятся команды SFX-сценария

Path=%windir%\system32
SavePath
Silent=1
Overwrite=2
Shortcut=P, "mrt.exe", "", "Удаление вредоносных программ", "Удаление вредоносных программ"

Вот и все!
Внимание! Если файла mrt.exe нет в system32, установится 0-байтный файл и возможны сбои!
Если кому-то известны другие способы создания ярлыка, напишите здесь.

zeroua 10-07-2008 21:50 848201

Котяра, вот вам в помощь команда if
читать дальше »
IfОбработка условий в пакетных программах.

Синтаксис
if [not] errorlevel число команда [else выражение]

if [not] строка1==строка2 команда [else выражение]

if [not] exist имя_файла команда [else выражение]

Если расширения командного процессора разрешены, следует использовать следующий синтаксис:

if [/i] строка1 оп_сравнения строка2 команда [else выражение]

if cmdextversion число команда [else выражение]

if defined переменная команда [else выражение]

Параметры
not
Задает выполнение команды только в случае невыполнения условия.
errorlevel число
Условие выполняется, если предыдущая команда, обработанная интерпретатором команд Cmd.exe, завершилась с кодом, равным или большим числа.
команда
Команда, которая должна быть обработана в случае выполнения условия.
строка1==строка2
Условие выполняется, если строки строка1 и строка2 совпадают. Строки могут быть заданы явно или могут быть пакетными переменными (например, %1). Явно заданные строки нет необходимости заключать в кавычки.
exist имя_файла
Условие выполняется, если существует файл с именем имя_файла.
оп_сравнения
Трехзначный оператор сравнения. В следующей таблице перечислены допустимые значения оп_сравнения. Оператор Описание
EQU равно
NEQ не равно
LSS меньше
LEQ меньше или равно
GTR больше
GEQ больше или равно

/i
Сравнение строк без учета регистра знаков. Параметр /i можно использовать в конструкции string1==string2 команды if. Эти сравнения являются общими. Если и строка1, и строка2 состоят из цифр, строки преобразовываются в числа и выполняется сравнение чисел.
cmdextversion число
Условие выполняется, только если номер внутренней версии, связанный с расширениями командного процессора Cmd.exe, равен или больше числа. первая версия имела номер 1. Номер версии увеличивается на 1 при внесении в расширения командного процессора значительных изменений. Условие с cmdextversion не выполняется, если расширения командного процессора запрещены (по умолчанию они разрешены).
defined переменная
Условие выполняется, если переменная определена.
выражение
Команда и все ее параметры для обработке в командной строке при выполнении оператора else.
/?
Отображение справки в командной строке.
Заметки
Если условие, заданное в команде if, выполняется, будет выполнена команда, следующая за условием. Если условие не выполняется, команда, заданная в операторе if, пропускается, а управление переходит к команде оператора else, если она задана.
Когда программа завершается, она возвращает код завершения. С помощью параметра errorlevel коды завершения можно использовать в качестве условий.
Использование команды defined переменная
При использовании команды defined переменная добавляются следующие три переменные: %errorlevel%, %cmdcmdline% и %cmdextversion%.

%errorlevel% замещается строковым представлением текущего значения errorlevel, если только уже не существует переменная среды с именем ERRORLEVEL. В этом случае будет использовано ее значение. В следующем примере показано использование значения errorlevel после выполнения пакетной программы:

goto answer%errorlevel%
:answer0
echo Код возврата программы равен 0
:answer1
echo Код возврата программы равен 1
goto end
:end
echo Готово!

Операторы сравнения оп_сравнения также можно использовать следующим образом:

if %errorlevel% LEQ 1 goto okay
%cmdcmdline% замещается исходной командной строкой, переданной Cmd.exe, до ее обработки в Cmd.exe, если только уже не существует переменная среды с именем cmdcmdline. В этом случае будет использовано значение cmdcmdline.

%cmdextversion% замещается строковым представлением текущего значения cmdextversion, если только уже не существует переменная среды с именем CMDEXTVERSION. В этом случае будет использовано ее значение.

Использование оператора else
Оператор else должен размещаться в той же строке, что и команда if. Пример:

IF EXIST имя_файла. (
del имя_файла.
) ELSE (
echo имя_файла. отсутствует.
)
Приведенный ниже пример не будет работать, поскольку команда del должна заканчиваться новой строкой:

IF EXIST имя_файла. del имя_файла. ELSE echo имя_файла. отсутствует
Приведенный ниже пример не будет работать, поскольку команда else должна находиться в той же строке, что и команда if:

IF EXIST имя_файла. del имя_файла.
ELSE echo имя_файла. отсутствует
Если необходимо разместить всю инструкцию в одной строке, можно использовать следующую правильную форму исходной инструкции:

IF EXIST имя_файла. (del имя_файла.) ELSE echo имя_файла. отсутствует
Примеры
Если файл Product.dat не удается найти, появится следующее сообщение:

if not exist product.dat echo Не найден файл данных

Если в приведенном ниже примере при форматировании диска в дисководе A возникнет ошибка, будет выведено сообщение об ошибке:

:begin
@echo off
format a: /s
if not errorlevel 1 goto end
echo Ошибка при форматировании.
:end
echo Конец пакетной программы.

Если ошибка не возникнет, сообщение об ошибке выведено не будет.

Команда if не может быть использована непосредственно для проверки существования каталога, но в каждом каталоге существует устройство (NUL). Следовательно, существование каталога может быть проверено, как показано ниже. В следующем примере проверяется наличие каталога:

if exist c:mydir\nul goto process


zeroua 10-07-2008 22:05 848217

Котяра, думаю просто будет сделать 7z архив в него запихнуть *.cmd файл с
Код:

IF EXIST mrt.exe xcopy
чтото типа того ...

Котяра 10-07-2008 22:09 848220

Цитата:

Цитата zeroua
Котяра, вот вам в помощь команда if
читать дальше » »

Какой командой создать ярлык?

jameszero 10-07-2008 22:12 848224

Вложений: 1
Котяра
Цитата:

Если кому-то известны другие способы создания ярлыка, напишите здесь
Разархивировать в любую папку и запустить mrt.cmd

Petya V4sechkin 10-07-2008 22:19 848230

Цитата:

Цитата Котяра
Как сделать это автоматически? Читайте дальше!

Создание ярлыков при установке ОС

Котяра 14-07-2008 14:48 850993

Сделал AutoIt скрипт, вопрос куда лучше класть ярлык - в общее меню или в личное? Думаю в общее.


Время: 14:20.

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