Я подключаюсь к серверу Windows (2012R2 64 бит) под управлением Cygwin (последняя версия, которую я скачал с cygwin.com вчера), используя шпаклевку.

Я пытаюсь запустить cmd.exe и передать cmd.exe команду, которая находится в «Program Files (x86)».

это то, что я пытаюсь запустить: cmd.exe /C "c:\program files (x86)\ibm\rationalsdlc\clearcase\bin\cleartool.exe"

и я получаю: «c:\program» не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

я попробовал это с "\" и с "\" и получил то же самое сообщение.

когда я удвоил скобки ("), например: cmd.exe /C" "c:\program files (x86)\ibm\rationalsdlc\clearcase\bin\cleartool.exe" "

я получил -bash: синтаксическая ошибка рядом с неожиданным токеном `('

Когда я пытался передать другую строку без пробелов в пути, например: cmd.exe /C "ccperl C:\utils\find-locked-vobs.pl", он работал нормально, а сценарий perl запускался нормально.

Как передать команду, если в пропусках есть пробелы?

Спасибо Дэвид

1 ответ1

0

Предполагая, что вы используете bash и хотите передать полный путь windows в cmd, вы должны использовать один апостроф, а не двойной

cmd /c 'C:\Program Files (x86)\Adobe\Reader 10.0\Reader\acrord32.exe'

отлично работает для меня

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .