Запуск сервера с помощью команды запуска "" "%~dp0\server.exe", параметры игнорируются из-за пробелов

START "Test Server" "%~dp0\server.exe" LAN %M%.aao log=server.log ini=server.ini

Все, что после "LAN" не выполняется server.exe. Я вижу в файле журнала сервера, что он пытается открыть локальную сеть, но он должен пытаться открыть%m%.aao, что означает все, что после "LAN" игнорируется.,

Как я могу это исправить?

С помощью

START "Test Server" server.exe LAN %M%.aao log=server.log ini=server.ini

не будет работать, так как я пытаюсь запустить командный файл из WOTGreal. Я не уверен, почему, но способ, которым я исправил это для двух других файлов / программ, которые я открыл, состоял в том, чтобы использовать%~dp0, но сервер требует, чтобы пробелы не игнорировались.

1 ответ

Я пытаюсь запустить командный файл из WOTGreal

Таким образом, пакетный файл будет запущен из другой папки. Это также будет означать, что server.exe будет запущен из другой папки. так локальные имена файлов, как в %M%.aao log=server.log ini=server.ini будет прочитан из неправильного каталога.

Вы могли бы, вероятно, исправить это, используя также %~dp0 на всех других путях. Но, вероятно, проще изменить текущий каталог в начале пакетного файла. Для этого добавьте следующую строку в начало пакетного файла.

cd /d "%~dp0"
Другие вопросы по тегам