Подтвердить что ты не робот

Ошибка командной строки "C:\Program" не распознается как внутренняя или внешняя команда, операционная программа или командный файл

Я пытаюсь запустить следующую командную команду. Команда была извлечена из среды IDE, поэтому подтверждена работа. Получение ошибки, упомянутой ниже.

Я пробовал несколько вариантов с двойными кавычками, но они не работали. Даже в powershell оно имеет одно и то же сообщение.

C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe F:\CP001\source\Meter\Main.c -D Hardware_P20E -D Calibration_code -D _Optical -D _Configuration_TS0382 -o F:\CP001\Temp\C20EO\Obj\ --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -D__MSP430F425 -e --double=32 --dlib_config C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\lib\dlib\dl430fn.h -Ol --multiplier=16 --segment __data16=DATA16 --segment __data20=DATA20

Command Prompt

Обновление:

Попытка решения с помощью кавычек каким-то образом путает компилятор

enter image description here

4b9b3361

Ответ 1

Если в каталоге есть пробелы, поместите кавычки вокруг него. Сюда входит программа, которую вы вызываете, а не только аргументы

"C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe" "F:\CP001\source\Meter\Main.c" -D Hardware_P20E -D Calibration_code -D _Optical -D _Configuration_TS0382 -o "F:\CP001\Temp\C20EO\Obj\" --no_cse --no_unroll --no_inline --no_code_motion --no_tbaa --debug -D__MSP430F425 -e --double=32 --dlib_config "C:\Program Files\IAR Systems\Embedded Workbench 7.0\430\lib\dlib\dl430fn.h" -Ol --multiplier=16 --segment __data16=DATA16 --segment __data20=DATA20

Ответ 2

Вам просто нужно держать Program Files в двойных кавычках, а остальная часть команды не нуждается в кавычках.

C:\"Program Files"\IAR Systems\Embedded Workbench 7.0\430\bin\icc430.exe F:\CP00 .....

Ответ 3

Кажется, это время от времени происходит с программами, которые очень чувствительны к командам, но один из них - просто использовать путь DOS вместо пути Windows. Это означает, что C:\Program Files\ будет разрешаться C:\PROGRA~1\ и вообще избегать любых проблем с интервалом.

Чтобы получить короткий путь, вы можете создать быстрый пакетный файл, который перекликается с коротким путем:

@ECHO OFF
echo %~s1

который затем вызывается следующим образом:

C:\>shortPath.bat "C:\Program Files"
C:\PROGRA~1

Ответ 4

Я столкнулся с подобной проблемой, используя командную строку Windows для сценария R, Rscript.exe, который очень чувствителен к пробелам в пути. Решением было создать виртуальный путь к бинарной папке с помощью команды windows subst.

Ошибка: "C:\Program Files\R\R-3.4.0\bin\Rscript.exe"

Выполнение следующих успешно:

subst Z: "C:\Program Files\R\R-3.4.0"
Z:\bin\Rscript.exe

Причина, по которой вышеупомянутые решения не сработали, очевидно, связана с разрешением собственного внутреннего пути исполняемого файла Rscript.exe из его рабочего каталога (в котором есть пробел), а не с командной строкой Windows. Таким образом, использование ~ или " для решения проблемы в командной строке является спорным. Исполняемый файл должен вызываться в пути без пробелов.

Ответ 5

Я считаю, что ответ Джеймса Ханта решит проблему.

@user3731784: В вашем новом сообщении компилятор, похоже, запутался из-за параметра "C:\Program Files\IAR systems\Embedded Workbench 7.0\430\lib\dlib\d1430fn.h". Почему вы даете этот заголовочный файл в середине других компиляторов? Пожалуйста, исправьте это и повторите попытку. Кроме того, вероятно, неплохо дать имя исходного файла после всех компиляторов, а не в начале.

Ответ 6

Перейдите в начало и выполните поиск cmd. Щелкните правой кнопкой мыши по нему, затем свойства задайте путь Target в кавычках. Это сработало для меня.