|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Несрабатывает CMD-сценарий после запуска из авторан-меню |
|
CMD/BAT - Несрабатывает CMD-сценарий после запуска из авторан-меню
|
Старожил Сообщения: 183 |
Всем привет. Хочу попросить у вас помощи. Есть cmd-сценарий который устанавливает драйвер, он отрабатывает при обычном запуске нормально. Но если запускаю из авторана, не видит pnputil.exe, даже если я указываю полный путь. Так же есть подозрения, что не срабатывает условие по определению битности системы, так как пробЫвал запускать установку драйвера через devcon и там срабатывает только установка для x86 системы. Что можно сделать, чтобы сценарий все же работал из авторан-меню?
Скачать авторан меню: https://dropmefiles.com/xjIUd Сам сценарий следующий: If "%PROCESSOR_ARCHITECTURE%"=="x86" ( start /w pnputil -i -a "%~dp0Driver\x86\ftdibus.inf" ) Else ( start /w pnputil -i -a "%~dp0Driver\x64\ftdibus.inf" ) exit |
|
Отправлено: 20:43, 08-12-2018 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать FreshMen85, а) покажите не исполняемый файл autorun.exe, а сценарий, на основе которого он был создан; б) выкладывайте архив на dropmefiles.
|
Отправлено: 22:02, 08-12-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Старожил Сообщения: 183
|
Профиль | Отправить PM | Цитировать
Iska, файл перезалил. На счет показать сценарий не понял, как сделать. Авторан сделан в программе Auto Play Menu Builder 8, файл проекта в архиве. Может какие-то опциии самой программы показать? Еще такой же проект делал в Autorun Enterprise PRO 2 и тут в итоге та же беда. Такое ощущение что авторан запускается в какой-то ограниченной среде.
Система для опытов кстати Windows 10 RS4 x64 Кстати вот сделал проект на MInstAll, то же самое, не находит pnputill https://dropmefiles.com/1ux6u |
||||
Последний раз редактировалось FreshMen85, 09-12-2018 в 06:03. Отправлено: 05:49, 09-12-2018 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать FreshMen85, у меня есть несколько предположений. И первое из них касается того, что и autorun.exe, и 0_InstallSoft.exe — x86-приложения, а Ваша ОС — x64. Для x86-приложений ОС использует перенаправление некоторых каталогов и разделов реестра, в частности, когда они обращаются к каталогу %SystemRoot%\System32, ОС перенаправляет их запросы в реальный каталог %SystemRoot%\SysWOW64.
Отсюда следует, что, когда Ваше x86-приложение, будь то autorun.exe или 0_InstallSoft.exe, будучи запущенным на x64 ОС, пытается исполнить пакетный файл посредством %comspec% /c или ShellExecute — запускается не x64-версия cmd.exe из каталога %SystemRoot%\System32, а x86-версия cmd.exe из каталога %SystemRoot%\SysWOW64. Затем эта x86-версия cmd.exe из каталога %SystemRoot%\SysWOW64 начинает обрабатывать и исполнять Ваш пакетный файл, доходит до команды «If "%PROCESSOR_ARCHITECTURE%"=="x86" …» и выясняется, что, да — %PROCESSOR_ARCHITECTURE% оказывается таки равно x86 ![]() Кроме того — что команда «start /w pnputil -i -a "%~dp0Driver\x86\ftdibus.inf"», что команда «start /w pnputil -i -a "%~dp0Driver\x64\ftdibus.inf"» пытаются выполнить ShellExecute() с ожиданием для pnputil.cmd/pnputil.bat/pnputil.com/pnputil.exe (потому как Вы не указываете расширение) в текущем каталоге (и не находит их там), затем в PATH (не находит и там — помним, что %SystemRoot%\System32 отображается на %SystemRoot%\SysWOW64, а в нём каких-либо pnputil.cmd/pnputil.bat/pnputil.com/pnputil.exe не наблюдается), затем в реестре в обоих разделах App Paths — и тоже не находит. В результате Вы закономерно получаете тот результат, что видите. |
Отправлено: 12:24, 09-12-2018 | #4 |
Старожил Сообщения: 183
|
Профиль | Отправить PM | Цитировать Iska, скорей всего вы правы. Попробовал запустить cmd.exe напрямую С:\Windows\system32\cmd.exe и передать с помощью команды CALL содержимое _setup.cmd, но у меня с разбегу ни чего не получилось. Хотел просто спросить я хоть правильно пытаюсь решить задачу?
|
|
Отправлено: 14:37, 09-12-2018 | #5 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать FreshMen85, не могу сказать пока ничего вразумительного, потому как не знаю проблему, которую Вы хотите решить выбранным Вами решением.
|
Отправлено: 14:50, 09-12-2018 | #6 |
Старожил Сообщения: 183
|
Профиль | Отправить PM | Цитировать Iska, хочу просто автоматизировать установку драйверов, но запуск установки должен осуществляться из авторана.
. |
Отправлено: 15:38, 09-12-2018 | #7 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать FreshMen85, я бы взял какой-нибудь AutoPlay Media Studio и попробовал бы привязать к кнопке какой-нибудь такой код:
if (System.Is64BitOS()) then result = File.Run(os.getenv("SystemRoot") .. "\\Sysnative\\pnputil.exe", "-i -a Install\\Driver\\x64\\ftdibus.inf", "", SW_SHOWNORMAL, true); else result = File.Run(os.getenv("SystemRoot") .. "\\System32\\pnputil.exe", "-i -a Install\\Driver\\x86\\ftdibus.inf", "", SW_SHOWNORMAL, true); end |
Последний раз редактировалось Iska, 09-12-2018 в 17:56. Причина: Не все слэши удвоил Отправлено: 16:12, 09-12-2018 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - Вывод данных в cmd из PowerShell без запуска консоли | Nolly | Скриптовые языки администрирования Windows | 3 | 03-05-2018 20:24 | |
CMD/BAT - Как выполнить сценарий в Командной строке с помощью .cmd | BKPB | Скриптовые языки администрирования Windows | 5 | 23-03-2016 09:26 | |
Любой язык - [решено] Получение температуры диска через cmd сценарий. | voler | Скриптовые языки администрирования Windows | 10 | 02-07-2013 06:31 | |
CMD/BAT - Не закрывается cmd после запуска | The_Immortal | Скриптовые языки администрирования Windows | 4 | 13-02-2013 17:42 | |
Командный сценарий для копирования файла (Файл .cmd) | p-xel | Автоматическая установка Windows 2000/XP/2003 | 3 | 28-11-2011 03:01 |
|