Вопрос или проблема
Вот команда, которую я пытаюсь выполнить:
runas /netonly /user:DOMAIN\user "cmd /k C:\Program Files (x86)\program.exe"
Когда я пытаюсь выполнить её, я получаю следующее сообщение об ошибке:
'C:\Program' не распознано как внутренняя или внешняя команда, исполняемая программа или пакетный файл.
Так как следующие команды работают:
runas /netonly /user:DOMAIN\user "C:\Program Files (x86)\program.exe"
cmd /k """C:\Program Files (x86)\program.exe"""
Я также пробовал эту команду:
runas /netonly /user:DOMAIN\user "cmd /k """"""C:\Program Files (x86)\program.exe"""""""
# плохой синтаксис
runas /netonly /user:DOMAIN\user "cmd /k \"C:\Program Files (x86)\program.exe\""
# Термин 'x86' не распознан
Мне не удалось найти правильное использование двойных кавычек, чтобы заставить мою команду выполниться.
Одним из способов является использование короткого имени пути, например:
runas /netonly /user:DOMAIN\user "cmd /k C:\Progra~2\program.exe"
dir /x
даст как короткое, так и длинное имя файла.
Мне кажется более аккуратным показывать полный путь, это работает для меня хорошо:
runas /netonly /user:DOMAIN\user "cmd /k \"C:\Program Files (x86)\program.exe\""
Ответ или решение
Для того чтобы корректно выполнить команду runas
с использованием cmd /k
и путём, содержащим пробелы, необходимо правильно управлять кавычками. Ниже приведены подробные объяснения различных аспектов, связанных с вашим запросом.
Ошибка и проблема с кавычками
При выполнении команды:
runas /netonly /user:DOMAIN\user "cmd /k C:\Program Files (x86)\program.exe"
Вы получаете сообщение об ошибке:
'C:\Program' is not recognized as an internal or external command, operable program or batch file.
Это происходит из-за того, что командная строка интерпретирует пробел в пути как разделитель между аргументами, что приводит к распознаванию команды C:\Program
вместо полного пути к исполняемому файлу.
Правильное использование кавычек
Для того чтобы избежать этой ошибки, вы можете использовать дополнительные кавычки для корректного указания полного пути. Попробуйте следующую команду:
runas /netonly /user:DOMAIN\user "cmd /k \"C:\Program Files (x86)\program.exe\""
Обратите внимание на использование обратной косой черты (\
) перед кавычками. Это позволяет Windows понять, что кавычки являются частью аргумента, а не завершением команды.
Альтернативный подход с коротким путём
Вы также можете использовать короткие имена папок (8.3 формат), чтобы избежать проблем с пробелами. Например, попробуйте следующий вариант:
runas /netonly /user:DOMAIN\user "cmd /k C:\Progra~2\program.exe"
Здесь Progra~2
— это короткое имя для Program Files (x86)
, которое можно получить с помощью команды dir /x
.
Резюме
Существует несколько вариантов решения проблемы с запуском программ, расположенных по путям, содержащим пробелы. Используйте кавычки для заключения полного пути или альтернативный короткий формат для гибкости и простоты. Оба подхода обеспечивают корректное выполнение команды runas
.
Если у вас возникнут дополнительные вопросы или проблемы, не стесняйтесь обращаться за помощью!