Что нового

[Автоматизация] изменение bat для установки драйвера

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
пропинговал указанный IP, сразу после получения 4 пакета в пинге окошко cmd закрылся
Правильно, т.е. батник отработал один раз и все. И меня это наводит на мысль, что виновник - определенный батник или еще что-то, но не AutoIt.
 
Автор
D

daradan

Новичок
Сообщения
13
Репутация
0
Правильно, т.е. батник отработал один раз и все. И меня это наводит на мысль, что виновник - определенный батник или еще что-то, но не AutoIt.
Код:
hppniscan01.exe -f "hppasc08.inf" -m "vid_03f0&pid_4C17&IP_SCAN" -a "10.9.40.43" -n 1
Батник проверял на работоспособность, просто в нем нужно вручную изменить IP и запустить. Сейчас на другой ПК испробую...

P.S.
Запустил на другом компе
Код:
#include <GuiIPAddress.au3>
$Form1 = GUICreate("Install scan HP LJ M1522n/nf", 300, 100)
GUICtrlCreateLabel("Введите IP", 50, 5, 100, 20)
$IPAddress = _GUICtrlIpAddress_Create($Form1, 50, 20, 100, 20)
$okbutton = GUICtrlCreateButton("OK", 50, 50, 70, 20)
$cancelbutton = GUICtrlCreateButton("Отмена", 180, 50, 70, 20)
$urlbutton = GUICtrlCreateLabel("http://odn.kz", 50, 80, 70, 20)
GUISetState()
While 1
    $msg = GUIGetMsg()
    Switch $msg
        Case -3
            ExitLoop
         Case $okbutton
            $IP = _GUICtrlIpAddress_Get($IPAddress)            
            WriteRunCMD($IP)
         Case $urlbutton           
            ShellExecute("http://odn.kz")
        Case $cancelbutton
            ExitLoop
    EndSwitch
WEnd

Func WriteRunCMD($IP)
   $File = "Setup.cmd"
   $hFile = FileOpen($File, 2)
   $Command = 'hppniscan01.exe -f "hppasc08.inf" -m "vid_03f0&pid_4C17&IP_SCAN" -a "'&$IP&'" -n 1'
   FileWrite($hFile, $Command)
   FileClose($hFile)
   ShellExecute($File)
   Return
EndFunc

При нажатии ОК, открылся cmd с командой. После установки cmd автоматически закрылся...Все заработало!
Спасибо большое Yuriy и sngr :beer:

P.S.S. Походу сам накосячил на своем компе переустанавливая драйвер сканера :whistle:
 
Автор
D

daradan

Новичок
Сообщения
13
Репутация
0
Здравствуйте!
еще один вопрос возник:
как сделать, если скажем в bat-файле несколько строк (2 строки команд) в этом скрипте:
Код:
Func WriteRunCMD($IP)
   $File = "Setup.cmd"
   $hFile = FileOpen($File, 2)
   $Command = 'hppniscan01.exe -f "hppasc08.inf" -m "vid_03f0&pid_4C17&IP_SCAN" -a "'&$IP&'" -n 1'
   FileWrite($hFile, $Command)
   FileClose($hFile)
   ShellExecute($File)
   Return
EndFunc

попробовал так:
Код:
Func WriteRunCMD($IP)
   $File = "Setup.cmd"
   $hFile = FileOpen($File, 2)
   $Command = 'cscript prnport.vbs -a -r IP_'&$IP&' -h '&$IP&' -o raw -n 9100'
   FileWrite($hFile, $Command)
   FileClose($hFile)
   ShellExecute($File)
   $File1 = "Setup1.cmd"
   $hFile1 = FileOpen($File1, 2)
   $Command1 = 'rundll32 printui.dll,PrintUIEntry /if /b "1522_'&$IP&'" /f hppcp608.inf /r "IP_'&$IP&'" /m "HP LaserJet M1522 MFP Series PCL 6"'
   FileWrite($hFile1, $Command1)
   FileClose($hFile1)
   ShellExecute($File1)
   Return
EndFunc

Запускаются команды вместе. Как можно сделать так, чтобы запускалось по очереди?
Спасибо!
 

Yuri

AutoIT Гуру
Сообщения
737
Репутация
282
чтобы запускалось по очереди
Пример
Код:
WriteRunCMD("127.0.0.1")
Func WriteRunCMD($IP)
   $File = "Setup.cmd"
   $hFile = FileOpen($File, 2)
   $Command1 = 'ping ' & $IP
   $Command2 = 'CLS'
   $Command3 = 'tracert -h 4 ' & $IP
   FileWrite($hFile, $Command1 & @CRLF & $Command2 & @CRLF & $Command3 & @CRLF & 'pause')
   FileClose($hFile)
   RunWait($File)
   Return
EndFunc
 
Верх