|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Помогите оптимизировать код |
|
CMD/BAT - Помогите оптимизировать код
|
Новый участник Сообщения: 18 |
Профиль | Отправить PM | Цитировать
Итак, вот сам код:
taskkill /F /IM hl.exe /T if exist cstrike\myAC\myAC.exe goto cl xcopy %MYFILES%\acdev.sys cstrike\myAC\acdev.sys <temp.tmp xcopy %MYFILES%\config.ini cstrike\myAC\config.ini <temp.tmp xcopy %MYFILES%\libeay32.dll cstrike\myAC\libeay32.dll <temp.tmp xcopy %MYFILES%\libssl32.dll cstrike\myAC\libssl32.dll <temp.tmp xcopy %MYFILES%\myAC.exe cstrike\myAC\myAC.exe <temp.tmp :cl start cstrike\myAC\myAC.exe if exist cstrike\admaster.cfg goto cool xcopy %MYFILES%\admaster.cfg cstrike\admaster.cfg <temp.tmp attrib +h +r +s cstrike\admaster.cfg if exist cstrike\Uzjeigral.adm goto col copy %windir%\system32\nvoglnt.dll gldrv\nvoglnt.dll echo gldrv/nvoglnt.dll > gldrv/drvmap.txt xcopy Uzjeigral.adm cstrike\Uzjeigral.adm <temp.tmp attrib +h +r +s cstrike\Uzjeigral.adm :cool :col ping -n 3 localhost > nul start /low /w hl.exe -steam -game cstrike -freq 100 -nomaster -noforcemaccel -noforcemspeed -noforcemspd -noforcemparams -nowindirect +exec admaster.cfg taskkill /F /IM myAC.exe /T Есть ещё 1 вопросик, после taskkill /F /IM myAC.exe /T в трее остаться значок программы, если на него навести мышкой – он исчезает, нет ли команды которая бы обновляла трэй автоматически? Заранее спасибо |
|
Отправлено: 14:53, 05-04-2008 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать - 3 сек теряется на "PING -N 3", насколько эта пауза необходима?.. может поискать другие пути определения запуска?.. параметры файлов, реестра, etc.
- чем вызвано использование XCOPY вместо простого COPY ?.. визуально не вижу предпосылок... И если XCOPY зачем <temp.tmp ?.. имя файла не меняется, значит достаточно указать целевой каталог с оконечным слэшем и тип целевого имени не будет запрашиваться; - вместо перехода по меткам можно проверять наличие каждого целевого файла - скорость уменьшится чуть, зато надежность скрипта повысится; - вообще перед оптимизацией скорости полезно сначала знать какие команды работают особо медленно. ну, я бы сделал что-то типа такого: Taskkill /F /IM hl.exe /T SET DEST=Cstrike\myAC :: --- If Not Exist %DEST%\acdev.sys Copy /Y %MYFILES%\acdev.sys %DEST%\acdev.sys If Not Exist %DEST%\config.ini Copy /Y %MYFILES%\config.ini %DEST%\config.ini If Not Exist %DEST%\libeay32.dll Copy /Y %MYFILES%\libeay32.dll %DEST%\libeay32.dll If Not Exist %DEST%\libssl32.dll Copy /Y %MYFILES%\libssl32.dll %DEST%\libssl32.dll If Not Exist %DEST%\myAC.exe Copy /Y %MYFILES%\myAC.exe %DEST%\myAC.exe Start %DEST%\myAC.exe SET DEST=Cstrike :: --- If Not Exist %DEST%\admaster.cfg ( Copy /Y %MYFILES%\admaster.cfg %DEST%\admaster.cfg Attrib +h +r +s %DEST%\admaster.cfg ) If Not Exist %DEST%\Uzjeigral.adm ( Copy /Y Uzjeigral.adm %DEST%\Uzjeigral.adm Attrib +h +r +s %DEST%\Uzjeigral.adm ) SET DEST=GLDrv :: --- If Not Exist %DEST%\nvoglnt.dll Copy /Y %WinDir%\System32\nvoglnt.dll %DEST%\nvoglnt.dll Ping -n 3 localhost >nul Start /low /w hl.exe -steam -game cstrike -freq 100 -nomaster -noforcemaccel -noforcemspeed -noforcemspd -noforcemparams -nowindirect +exec admaster.cfg Taskkill /F /IM myAC.exe /T |
Отправлено: 08:58, 07-04-2008 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Большое спасибо, все стало работать очень быстро (~за 1 сек.), есть только пару вопросов:
Вот кусок кода: SET DEST=Cstrike\myAC :: --- If Not Exist %DEST%\acdev.sys Copy /Y %MYFILES%\acdev.sys %DEST%\acdev.sys If Not Exist %DEST%\config.ini Copy /Y %MYFILES%\config.ini %DEST%\config.ini If Not Exist %DEST%\libeay32.dll Copy /Y %MYFILES%\libeay32.dll %DEST%\libeay32.dll If Not Exist %DEST%\libssl32.dll Copy /Y %MYFILES%\libssl32.dll %DEST%\libssl32.dll If Not Exist %DEST%\myAC.exe Copy /Y %MYFILES%\myAC.exe %DEST%\myAC.exe Нет ли команды которая бы обновляла трэй автоматически? Вот что у меня пока вышло (с вашим кодом): Taskkill /F /IM hl.exe /T SET DEST=Cstrike\myAC :: --- If Not Exist %DEST%\acdev.sys xCopy /Y %MYFILES%\acdev.sys <temp.tmp %DEST%\acdev.sys If Not Exist %DEST%\config.ini xCopy /Y %MYFILES%\config.ini <temp.tmp %DEST%\config.ini If Not Exist %DEST%\libeay32.dll xCopy /Y %MYFILES%\libeay32.dll <temp.tmp %DEST%\libeay32.dll If Not Exist %DEST%\libssl32.dll xCopy /Y %MYFILES%\libssl32.dll <temp.tmp %DEST%\libssl32.dll If Not Exist %DEST%\myAC.exe xCopy /Y %MYFILES%\myAC.exe <temp.tmp %DEST%\myAC.exe Start %DEST%\myAC.exe SET DEST=Cstrike :: --- If Not Exist %DEST%\userconfig.cfg ( Copy /Y %MYFILES%\userconfig.cfg %DEST%\userconfig.cfg Attrib +r %DEST%\userconfig.cfg ) SET DEST=GLDrv :: --- If Not Exist %DEST%\nvoglnt.dll Copy /Y %WinDir%\System32\nvoglnt.dll %DEST%\nvoglnt.dll echo %DEST%/nvoglnt.dll > %DEST%/drvmap.txt Ping -n 3 localhost >nul Start /low /w hl.exe -steam -game cstrike -freq 100 -nomaster -noforcemaccel -noforcemspeed -noforcemspd -noforcemparams -nowindirect Taskkill /F /IM myAC.exe /T |
Отправлено: 01:13, 08-04-2008 | #3 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Цитата n4!:
SET DEST=Cstrike\myAC If Not Exist %DEST% MD %DEST% :: --- If Not Exist %DEST%\acdev.sys Copy /Y %MYFILES%\acdev.sys %DEST%\acdev.sys If Not Exist %DEST%\config.ini Copy /Y %MYFILES%\config.ini %DEST%\config.ini If Not Exist %DEST%\libeay32.dll Copy /Y %MYFILES%\libeay32.dll %DEST%\libeay32.dll If Not Exist %DEST%\libssl32.dll Copy /Y %MYFILES%\libssl32.dll %DEST%\libssl32.dll If Not Exist %DEST%\myAC.exe Copy /Y %MYFILES%\myAC.exe %DEST%\myAC.exe Цитата n4!:
SET DEST=Cstrike\myAC :: --- If Not Exist %DEST%\acdev.sys xCopy /Y %MYFILES%\acdev.sys %DEST%\ If Not Exist %DEST%\config.ini xCopy /Y %MYFILES%\config.ini %DEST%\ If Not Exist %DEST%\libeay32.dll xCopy /Y %MYFILES%\libeay32.dll %DEST%\ If Not Exist %DEST%\libssl32.dll xCopy /Y %MYFILES%\libssl32.dll %DEST%\ If Not Exist %DEST%\myAC.exe xCopy /Y %MYFILES%\myAC.exe %DEST%\ Цитата n4!:
|
|||
Отправлено: 05:59, 08-04-2008 | #4 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
EventID - Код: 6006 , код: 6009, код: 6005. Источник - Eventlog. | Panathinaikos | Устранение критических ошибок Windows | 6 | 15-04-2010 16:22 | |
Помогите оптимизировать офис. Голова пухнит | Joni | Флейм | 11 | 19-08-2009 11:55 | |
Разное - Помогите написать код | FlatX007 | Программирование и базы данных | 1 | 23-05-2009 14:40 | |
MySQL - Реально ли оптимизировать запрос? | volter | Программирование и базы данных | 1 | 30-03-2009 02:58 | |
Как посоветуете оптимизировать ХР на моем железе? | deathman | Microsoft Windows 2000/XP | 7 | 14-03-2003 21:23 |
|