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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Нужно автоматизировать установку проги с CD (http://forum.oszone.net/showthread.php?t=157113)

TEKTON 15-11-2009 05:25 1270610

Нужно автоматизировать установку проги с CD
 
Такая задача :
есть игра, есть ролик к ней, и патч.

Делаю так, прописываю в авторане вместо setap.ехе setap.bat
в батнике пишу
Код:

@echo off             
pleer1.exe stk_cop_950x536_rus.avi      ;открываю ролик
foto.jpg                            ;открываю картинку. Если можно так сделать чтоб картинка повисела секунд 10-15 по середине монитора  потом закрылась

start pleer2.exe 384_DJRAmix.mp3    ; запускаю музычку чтоб весеелее шла установка :)
setap.exe                                ;  установка дистрибутива

А дальше нужно создать переменную чтоб Bat после установки проги нашёл файл и переименовал его в *.exe.BAK

И после этого скопировал с CD пропатченый файл в нужную папку! Но при этом нужно учесть что программа может быть установленна не только на C:

Тоесть чтоб была переменная типа %ProgramFiles% для того чтоб батник нашёл нужную папку на диске куда установили программу и вставил этот файлик. После чего Bat закрывается.

Вот путь к папке в которой сейчас файлик xrEngine.exe лежит

Код:

F:\Program Files\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти\bin
Пробовал делать типа
%ProgramFiles%\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти\bin
но чет не работает :(

Всё это хочу записать на диск. Заранее спасибо !!!

NiOl 16-11-2009 12:36 1271672

я бы начал с приобретения лицензии...

El Sanchez 16-11-2009 18:43 1271909

TEKTON, пробуй
Код:

:: Запрещаем вывод на экран исполняемых команд
@echo off

:: Путь к игре. Можно, конечно, потом данные и из реестра вытащить, но не знаю куда игра себя пишет. Не играл.
set "InstallGameDir=%ProgramFiles%\GSC World Publishing\S.T.A.L.K.E.R. - Зов Припяти\bin"

:: Запускаем видеоролик, плеер придется ручками закрывать после просмотра
"путь к player1\player1.exe" "путь к avi-файлу\stk_cop_950x536_rus.avi"

:: Открываем foto.jpg через виндовый просмотрщик, а то вдруг jpg ассоциируется с Photoshop
start rundll32.exe shimgvw.dll,ImageView_Fullscreen путь к файлу без кавычек\foto.jpg

::Счетчик на 10 сек. и убиваем процесс с заголовком окна foto.jpg
start /b cmd /c "ping -n 10 127.0.0.1 1>nul&&taskkill /f /fi "windowtitle eq foto.jpg*""

:: Запускаем аудиофайл
start "" "путь к player2\player2.exe" "путь к аудиофайлу\384_DJRAmix.mp3"

:: Запуск установщика игры
setup.exe

:: Переименоваваем оригинальный exe-файл, в случае успеха копируем кряк в папку игры
ren "%InstallGameDir%\xrEngine.exe" xrEngine.exe.bak 1>nul&&copy /y "путь к леченому exe\xrEngine.exe" "%InstallGameDir%\xrEngine.exe"


TEKTON 16-11-2009 23:26 1272132

Спасибо!!!

Следующий вопрос:
как создать переменную чтоб в неё заносилась буква флешки или CD ?

Надо выполнить запуск ролика с CD через коммандную строку

Чтоб типа такого было

Код:

Start mplayer2.exe  %переменная содержащая букву CD%\Video\Rolik.avi

Попутный вопрос выплывающий из этого:
Как определить какому диску буква пренадлежит ? CD или Flesh ?

И ещё вопрос:
можно ли заменить файл не зная на каком он диске находится?


Ну сделать типа поиска по названию файла по всем дискам, а потом создать переменную в которую будет записываться путь до файла ?

И ещё:
Можно ли минимизировать bat файл в трей? И какими коммандами это делается?


Заранее спасибо !!!

Petya V4sechkin 17-11-2009 10:54 1272402

Цитата:

Цитата TEKTON
как создать переменную чтоб в неё заносилась буква флешки или CD ?
Надо выполнить запуск ролика с CD через коммандную строку
Чтоб типа такого было
Код:
Start mplayer2.exe %переменная содержащая букву CD%\Video\Rolik.avi

Код:

Start mplayer2.exe %~d0\Video\Rolik.avi

TEKTON 17-11-2009 20:38 1272905

Спасибо мужики!!!

Написал так:
Код:

CD..
Start mplay32.exe %~d0\vid\stk_cop_950x536_rus.avi
exit

Если и проигрыватель и файл находятся на CD Всё окей!!!

Но такая неприятная особеность есть:
Если файл ролика - stk_cop_950x536_rus.avi находится на CD

А запускаю его вот так:
Код:

Start mplay32.exe %~d0\vid\stk_cop_950x536_rus.avi
exit

В данном случае проигрыватель рядом с bat*ом лежит
или так :

Код:

Start C:\WINDOWS\system32\mplay32.exe %~d0\vid\stk_cop_950x536_rus.avi
exit

В данном случае проигрыватель стоит на своём родном месте,

Происходит ошибка !!! :(


Как узнать имя диска CD Для того чтоб запустить видео файл (который лежит на CD)
через проигрыватель который стоит на компе???

Заранее спасибо!!!

El Sanchez 17-11-2009 21:25 1272945

Цитата:

Цитата TEKTON
Происходит ошибка !!! »

Вместо
Код:

Start C:\WINDOWS\system32\mplay32.exe %~d0\vid\stk_cop_950x536_rus.avi
напиши
Код:


Start %SystemRoot%\system32\mplay32.exe "%~dp0vid\stk_cop_950x536_rus.avi"


TEKTON 18-11-2009 00:33 1273067

Цитата:

Цитата TEKTON
И ещё:
Можно ли минимизировать bat файл в трей? И какими коммандами это делается? »


В принципе один приятель предложил такой вариант с двумя батниками:

первый start.bat :

Код:

%comspec% /c start /min Untitled.bat
Второй Untitled.bat :
Код:

mplayerc.exe /fullscreen %~d0\vid\stk_cop_950x536_rus.avi
Exit

А может всётаки можно одним батом обойтись ???

El Sanchez 18-11-2009 10:29 1273268

Цитата:

Цитата TEKTON
Можно ли минимизировать bat файл в трей? И какими коммандами это делается? »

В трей никак, только свернуть на панель задач. Можно вообще не выводить на экран консольное окно с помощью спецсредств (тема поднималась тут).
Цитата:

Цитата TEKTON
А может всётаки можно одним батом обойтись ??? »

Пример (окно, правда, мелькнет, но почти незаметно, а потом свернется на панель задач):
Код:

@echo off
if "%~1"=="hide" goto :label
start /min cmd /c %~0 hide
goto :eof
:label
команда 1
команда 2
...
команда N



Время: 10:18.

Время: 10:18.
© OSzone.net 2001-