Итак, у меня есть следующий пакетный файл, который запускает игровой сервер для Sauerbraten :
@ECHO OFF
set SAUER_BIN=bin
IF /I "%PROCESSOR_ARCHITECTURE%" == "amd64" (
set SAUER_BIN=bin64
)
IF /I "%PROCESSOR_ARCHITEW6432%" == "amd64" (
set SAUER_BIN=bin64
)
start %SAUER_BIN%\sauerbraten.exe "-q$HOME\My Games\Sauerbraten" -gserver-log.txt -d %*
Пакетный файл поставляется по умолчанию с установкой игры и отлично работает в Windows7.
Когда я запускаю его с правами администратора, во всплывающем окне я получаю следующую ошибку:
Windows cannot find 'bin64\sauerbraten.exe'. Make sure you've typed the name correctly, then try again.
Я проверил, что файл существует и что написание правильное.
В том же каталоге есть другой пакетный файл для запуска самой игры, который идентичен за исключением пары параметров запуска в последней строке.При запуске работает нормально.Я скопировал этот файл в другой и сделал изменения видимыми в случае, если были невидимые символы или что-то еще, но это не имело никакого значения.
@ECHO OFF
set SAUER_BIN=bin
IF /I "%PROCESSOR_ARCHITECTURE%" == "amd64" (
set SAUER_BIN=bin64
)
IF /I "%PROCESSOR_ARCHITEW6432%" == "amd64" (
set SAUER_BIN=bin64
)
start %SAUER_BIN%\sauerbraten.exe "-q$HOME\My Games\Sauerbraten" -glog.txt %*
Когда сервер не работает от имени администратора, сервер фактически кажетсязапуск (поскольку он выводит в файл журнала и выдает ошибку, утверждающую, что он не может создать хост сервера, который, как я подозреваю, связан с необходимостью запуска от имени администратора).
Почему я вижу такое поведение?Я не могу придумать никакого разумного объяснения.