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

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

Ответить
Настройки темы
CMD/BAT - [решено] Поясните батник, суть его работы.

Аватара для Pozia

Ветеран


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

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


Вот собственно батник:
Код: Выделить весь код
CLS
@ECHO OFF
TITLE Drivers-from-CD Installation
color 1F

::  Set Current Drive as CD
	CD /D "%~dp0"
::  Set Drivers Location Folder
	SET DRV=Drivers
::  Ticker script
	ECHO.exec hide %CD%\Process.exe -r setup.exe >%SystemDrive%\Ticker.ncl
	ECHO.wait 10000 >>%SystemDrive%\Ticker.ncl
	ECHO.exec hide %CD%\Process.exe -p SetupCopyOEMInf.exe high >>%SystemDrive%\Ticker.ncl
	ECHO.exec hide %CD%\Process.exe -s setup.exe >>%SystemDrive%\Ticker.ncl
	ECHO.wait 50000 >>%SystemDrive%\Ticker.ncl
	ECHO.script %SystemDrive%\Ticker.ncl >>%SystemDrive%\Ticker.ncl
::  Pre-Install (Suspend Setup, and Set Setup to Low Priority)
	.\Process.exe -s setup.exe
	.\Process.exe -p setup.exe low
::  Allow for Unsigned Drivers
	START .\WatchDriverSigningPolicy.exe
::  If Compressed Drivers Exist, Unzip Them & Change Drivers Location Folder to Hard Drive
	IF EXIST Drivers.7z (
	SET DRV=%SystemDrive%\WINDOWS\DriversPozia
	.\7z.exe x -y -aoa -o"%SystemDrive%\WINDOWS\DriversPozia" ".\Drivers.7z"
	)
::  Run NirCmd Ticker Script (code above)
	START .\NirCmd.exe script %SystemDrive%\Ticker.ncl
::  Install Drivers
	.\SetupCopyOEMInf.exe "%DRV%"
::  Post-Install (Close NirCmd, Setup Priority back to Normal, Resume Setup)
	.\Process.exe -k NirCmd.exe
	.\Process.exe -p setup.exe normal
	.\Process.exe -r setup.exe
::  Delete Ticker File
	DEL %SystemDrive%\Ticker.ncl
EXIT
Этот батник используется для установки драйверов на т39 минуте. Как и что написано здесь.
Данный батник запускается через WINNT.SIF и пока он не отработает установка винды не продолжается. За счет чего этот эфект достигается??? Что тормозит процеес установки винды а затем запускает эту установку?

Отправлено: 21:00, 06-11-2009

 

Googler


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

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


Цитата Pozia:
Что тормозит процеес установки винды а затем запускает эту установку? »
Код: Выделить весь код
::  Pre-Install (Suspend Setup, and Set Setup to Low Priority)
    .\Process.exe -s setup.exe
    .\Process.exe -p setup.exe low

:: ....

::  Post-Install (Close NirCmd, Setup Priority back to Normal, Resume Setup)
    .\Process.exe -p setup.exe normal
    .\Process.exe -r setup.exe
кроме того, в фоне крутится NirCmd-скрипт (Ticker.Ncl), который включает Setup.Exe на 10 сек и отключает на 50 сек., линк на утилиту: Command Line Process Viewer/Killer/Suspender for Windows NT/2000/XP

З.Ы. А нельзя сразу дать ссылку на оригинал MSFN? Drivers from CD: Simple Method
Это сообщение посчитали полезным следующие участники:

Отправлено: 03:59, 07-11-2009 | #2



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

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


Аватара для Pozia

Ветеран


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

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


amel27, Данного автоит скрипта:

Код: Выделить весь код
#NoTrayIcon
#include <GUIConstants.au3>

$iWidth = 420
$iHeight = 200

$hGUI = GUICreate("DriversNEW", $iWidth, $iHeight)
GUISetBkColor(0xBEBEBE) ;цвет окна 

GUICtrlCreateLabel("Хотите установить обновленный пакет драйверов DriversNEW?", 10, 20)
GUICtrlCreateLabel("Помните!", 170, 50)
GUICtrlCreateLabel("При установке DriversNEW набор стандартных драйверов Windows", 10, 80)
GUICtrlCreateLabel("будет использоваться в последнюю очередь.", 10, 95)
GUICtrlCreateLabel("Если после установки DriversNEW у Вас будут проблемы в работе Windows", 10, 115)
GUICtrlCreateLabel("переустановите систему без использования DriversNEW.", 10, 130)

$Yes_Button = GUICtrlCreateButton("                      Да                      ", 35, 160)
$No_Button = GUICtrlCreateButton("                      Нет                      ", 220, 160)

GUISetState(@SW_SHOW, $hGUI)

	RunWait("hidcon.exe Process.exe -s setup.exe")
	RunWait("hidcon.exe Process.exe -p setup.exe low")

While 1
    Switch GUIGetMsg()
        Case $No_Button, $GUI_EVENT_CLOSE
		RunWait("hidcon.exe Process.exe -p setup.exe normal")
		RunWait("hidcon.exe Process.exe -p setup.exe normal")
        	Exit
        Case $Yes_Button
        GUIDelete($hGUI) ;Удаление окна
		RunWait("hidcon.exe Drivers.cmd")
		RunWait("hidcon.exe Process.exe -p setup.exe normal")
		RunWait("hidcon.exe Process.exe -p setup.exe normal")
            	Exit
    EndSwitch
WEnd
Мне достаточно чтобы остановить установку и установив дрова продолжить установку виндовс?

Цитата amel27:
кроме того, в фоне крутится NirCmd-скрипт (Ticker.Ncl), который включает Setup.Exe на 10 сек и отключает на 50 сек., линк на утилиту: »
мне это нужно как то в автоит скрипте реализовать? Если да то как?

Цитата amel27:
З.Ы. А нельзя сразу дать ссылку на оригинал MSFN? »
Если я не знаю ориинальной ссылки так как не лажу по англоязычным сайтам то как я могу дать Вам эту ссылку

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Последний раз редактировалось Pozia, 07-11-2009 в 12:42.


Отправлено: 10:38, 07-11-2009 | #3


Googler


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

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


Цитата Pozia:
мне это нужно как то в автоит скрипте реализовать? »
смысл?.. не проще запустить весь батник из скрипта?

Цитата Pozia:
Если я не знаю ориинальной ссылки так как не лажу по англоязычным сайтам то как я могу дать Вам эту ссылку »
вопрос был риторический :)

Отправлено: 13:45, 07-11-2009 | #4


Аватара для Pozia

Ветеран


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

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


Цитата amel27:
смысл?.. не проще запустить весь батник из скрипта? »
так я и делал, но маленькая загвоздка. Если не нажать сразу же Да как появляется окно вопроса, то установка винды продолжится. Вот я и хотел узнать как установку винды тормознуть при запуске скрипта.
amel27, а Вы могли бы весь этот батник переписать в автоит?? (простите за наглость ). Знаю не по наслышке Вы гений в этих скриптах

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 23:15, 07-11-2009 | #5


Googler


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

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


Цитата Pozia:
Если не нажать сразу же Да как появляется окно вопроса, то установка винды продолжится. Вот я и хотел узнать как установку винды тормознуть при запуске скрипта. »
в таком случае варианов два:

1. При входе в скрипт тормознуть SETUP через process.exe, непосредственно перед запуском батника вернуть всё обратно... впрочем, приоритет лучше оставить низким, ограничиться только командой "resume". Плюс - не нужно редактировать батник.

2. Полностью перенести из батника в AU3-скрипт две отмеченные выше пары команд с Process.Exe - останавливать при входе в скрипт и восстанавливать при выходе.

Цитата Pozia:
могли бы весь этот батник переписать в автоит?? »
уже сказал - не вижу смысла... тем паче использование AutoIT на T39 - рискованное мероприятие, т.к. к этому времени инициализированы еще не все компоненты ОС

Цитата Pozia:
Знаю не по наслышке Вы гений в этих скриптах »
-10 ...с таким подходом рискуете остаться без ответов
Это сообщение посчитали полезным следующие участники:

Отправлено: 05:14, 08-11-2009 | #6


Аватара для Pozia

Ветеран


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

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


Цитата amel27:
При входе в скрипт тормознуть SETUP через process.exe, непосредственно перед запуском батника вернуть всё обратно... »
я тонкостей конечно не знаю, но если следовать логике, то не успеет ли винда проскочить этап т39 пока я буду тормозить, восстанавливать установку через Автоит скрипт, и затем снова тормозить через батник? Ведь между выполнением команд есть некоторые промежутки времени. Или это глупости я думаю?
Цитата amel27:
впрочем, приоритет лучше оставить низким, ограничиться только командой "resume" »
вот это не понял, можно подробнее?

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 10:58, 08-11-2009 | #7


Googler


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

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


Цитата Pozia:
если следовать логике, то не успеет ли винда проскочить этап т39 пока я буду тормозить, восстанавливать установку через Автоит скрипт, и затем снова тормозить через батник? Ведь между выполнением команд есть некоторые промежутки времени »
если следовать такой логике, то и батник не должен работать, так как он выполняет именно это: периодически включает и отключает SETUP, а при полном его отключении драйверы просто не установятся (инфа из темы на MSFN)... так что приходится идти на компромисс - а для того, чтобы SETUP не "проскочил" ему ставят минимальный приоритет выполнения

Цитата Pozia:
можно подробнее? »
"Process.exe -p setup.exe low" - установить низкий приоритет (при входе в скрипт)
"Process.exe -s setup.exe" - остановить процесс установки (на время обработки GUI)
"Process.exe -r setup.exe" - включить процесс установки (перед запуском батника)
"Process.exe -p setup.exe normal" - восстановить нормальный приоритет (при выходе из скрипта)
Это сообщение посчитали полезным следующие участники:

Отправлено: 13:48, 08-11-2009 | #8


Аватара для Pozia

Ветеран


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

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


amel27, если я Вас правильно понял батник я не трогая а скрипт автоит должен быть такой:

Код: Выделить весь код
#NoTrayIcon
#include <GUIConstants.au3>

$iWidth = 420
$iHeight = 200

$hGUI = GUICreate("DriversNEW", $iWidth, $iHeight)
GUISetBkColor(0xBEBEBE) ;цвет окна 

GUICtrlCreateLabel("Хотите установить обновленный пакет драйверов DriversNEW?", 10, 20)
GUICtrlCreateLabel("Помните!", 170, 50)
GUICtrlCreateLabel("При установке DriversNEW набор стандартных драйверов Windows", 10, 80)
GUICtrlCreateLabel("будет использоваться в последнюю очередь.", 10, 95)
GUICtrlCreateLabel("Если после установки DriversNEW у Вас будут проблемы в работе Windows", 10, 115)
GUICtrlCreateLabel("переустановите систему без использования DriversNEW.", 10, 130)

$Yes_Button = GUICtrlCreateButton("                      Да                      ", 35, 160)
$No_Button = GUICtrlCreateButton("                      Нет                      ", 220, 160)

GUISetState(@SW_SHOW, $hGUI)

RunWait("hidcon.exe Process.exe -s setup.exe")
RunWait("hidcon.exe Process.exe -p setup.exe low")

While 1
    Switch GUIGetMsg()
        Case $No_Button, $GUI_EVENT_CLOSE
		RunWait("hidcon.exe Process.exe -p setup.exe normal")
		RunWait("hidcon.exe Process.exe -r setup.exe")
        	Exit
        Case $Yes_Button
        GUIDelete($hGUI) ;Удаление окна
		RunWait("hidcon.exe Process.exe -r setup.exe")
		RunWait("hidcon.exe Drivers.cmd")
            	Exit
    EndSwitch
WEnd
Все верно?

-------
Жизни вглядись в глаза: Это то, что ты всегда искал? Это то, что ты всегда хотел? Да или нет?


Отправлено: 16:18, 08-11-2009 | #9


Googler


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

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


Цитата Pozia:
если я Вас правильно понял батник я не трогая а скрипт автоит должен быть такой »
последовательность команд - да, что касается самого скрипта сходу не скажу... кроме того в данной категории/ветке это оффтоп... не понял только, зачем батник вызывать через RunWait ?.. скрипт должен дождаться окончания его работы?
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:52, 08-11-2009 | #10



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
CMD/BAT - [решено] нужно что-бы батник считал сколько раз его запускали max_max_08 Скриптовые языки администрирования Windows 14 24-07-2010 20:00
[решено] Суть проблемы: не могу войти в BIOS. Molchun78 Материнские платы и память 7 15-07-2009 00:27
Размер баз SQL и нужная для его нормальной работы оперативка __sa__nya Хочу все знать 3 09-02-2009 07:27
[решено] Поясните настройки кодирования кодека DivX 6 Megacucumber Видео и аудио: обработка и кодирование 1 17-01-2008 10:25
Что может требоваться приложению для его работы... EvgeniyQQQ Программирование и базы данных 8 09-12-2006 20:46




 
Переход