reconoce programa por lotes interno externo ejecutable como comando archivo batch-file command-line msp430 iar

batch file - ejecutable - Error de símbolo del sistema ''C: / Program'' no se reconoce como un comando interno o externo, programa operable o archivo por lotes



ping no se reconoce como un comando interno o externo (5)

Creo que la respuesta de James Hunt resolverá el problema.

@ user3731784: en su nuevo mensaje, el compilador parece estar confundido por el argumento "C: / Program Files / IAR systems / Embedded Workbench 7.0 / 430 / lib / dlib / d1430fn.h". ¿Por qué estás dando este archivo de encabezado en el medio de otros modificadores del compilador? Por favor, corrige esto y vuelve a intentarlo. Además, probablemente sea una buena idea dar el nombre del archivo fuente después de que todos los compiladores cambien y no al principio.

Estoy tratando de ejecutar el siguiente comando por lotes. El comando se ha extraído del IDE, por lo que se confirma que funciona. Obteniendo el error mencionado a continuación.

He intentado algunas variaciones con comillas dobles pero no han funcionado. Incluso en powershell tiene el mismo mensaje.

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

Actualizar:

Probar la solución con comillas confunde al compilador de alguna manera


Esto parece suceder de vez en cuando con programas que son muy sensibles a las líneas de comandos, pero una opción es simplemente usar la ruta DOS en lugar de la ruta Windows. Esto significa que C:/Program Files/ se resolvería en C:/PROGRA~1/ y generalmente evitaría cualquier problema con el espaciado.

Para obtener la ruta corta, puede crear un archivo por lotes rápido que muestre la ruta corta:

@ECHO OFF echo %~s1

Que luego se llama de la siguiente manera:

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


Si un directorio tiene espacios, ponga comillas alrededor de él. Esto incluye el programa que está llamando, no solo los argumentos

"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


Solo necesita mantener los archivos de programa en comillas dobles y el resto del comando no necesita ninguna comilla.

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


Vaya a Inicio y busque cmd . Haga clic derecho en él, luego establezca la ruta de Target entre comillas. Esto funcionó bien para mi.