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.