Назад | Перейти на главную страницу

Странная проблема со скриптом .bat

У меня есть сценарий .bat, который устанавливает 3 части программного обеспечения. Когда я открываю командную строку с повышенными правами, просматриваю файл и запускаю его, все работает нормально. Когда я запускаю .cmd напрямую (используя «Запуск от имени администратора» из Windows 7, ничего не происходит. Есть идеи, почему это так?

сценарий ниже:

rem ECHO OFF

ECHO Установка Bonjour, подождите!

msiexec.exe / я reqs \ Bonjour64.msi / тихий

ECHO Установка DirectX 9.0C Redist, подождите

reqs \ dxsetup.exe / тихий

ECHO Установка Airserver, подождите.

msiexec.exe / i reqs \ AirServer-1.9.1.msi / qn TRANSFORMS = PIDKEY.mst

Любая помощь будет принята с благодарностью.

Я предполагаю, что сценарий запускается в другом рабочем каталоге, когда запускается через «запуск от имени администратора». Следовательно, ваши относительные пути будут неправильными. Если вы обычно запускаете cmd, вы должны быть в своем профиле пользователя. Если вы запускаете cmd от имени администратора через «Запуск от имени», вы обычно попадаете в «C: \ Windows \ System32».

Попробуй это:

rem ECHO OFF

ECHO Installing Bonjour , please wait!

msiexec.exe /i "%~dp0reqs\Bonjour64.msi" /quiet

ECHO Installing DirectX 9.0C Redist , please wait

"%~dp0reqs\dxsetup.exe" /silent

ECHO Installing Airserver , please wait.

msiexec.exe /i "%~dp0reqs\AirServer-1.9.1.msi" /qn TRANSFORMS="%~dp0PIDKEY.mst"

% ~ Dp0 разрешается в каталог, в котором находится скрипт (плюс обратная косая черта в конце).