2011-10-14 11 views
29

estoy ejecutando este comando en un archivo por lotes:"fue inesperado en este momento".

for %I in (*.txt *.doc) do copy %I c:\test2 

... y continúa repitiéndose:

que fue inesperado en este momento.

¿Cuál es la causa de este error?

+7

se tiene la sensación de no estar en el lugar correcto – CharlesB

+11

Alguna vez entrar en una habitación y se siente como todo el mundo estaba hablando de ti? – erbaker

+3

Esto debería estar en una camiseta. –

Respuesta

44

Si está ejecutando dentro de un archivo por lotes/cmd, se necesitará dobles los marcadores %:

for %%i in (*.txt *.doc) do copy %%i c:\test2 

la única variante % sólo funciona desde la línea de comandos.

3

Si se ejecuta desde un archivo por lotes, las variables deben ser denotado con dos signos de porcentaje, como %%I, sólo desde la línea de comandos utiliza uno

1

me encontré con un caso en el que estaba recibiendo este error de un archivo que fue nombrado * .cmd. surgió el error cuando trataba de acceder al primer argumento del comando por lotes:

if %1 EQU "" 

Una vez que puse comillas alrededor del símbolo para el primer argumento, el mensaje de advertencia se fue:

if "%1" EQU "" 
1

No es una respuesta directa a la pregunta, pero si encuentra este mensaje en cualquier programa, comando de proceso por lotes, etc., lo más probable es que esté relacionado con su RUTA que contiene " caracteres.

Por ejemplo, en el editor de Atom recibí el mensaje en la vista de configuración.

"\"GNU was unexpected at this time 

Esto se debió a un programa diferente que pone en mi camino la siguiente entrada

...;C:\"Program Files"\"GNU ARM Embedded;..." 

Debido a eso, el carácter antislash se lee como escapado por algunos programas, lo que provoca problemas porque entonces no es un delimitador de ruta de acceso pero un carácter simple.

La solución para mí fue eliminar los " del PATH, y todo funcionaba bien.

...;C:\Program Files\GNU ARM Embedded;... 

PD: Tengo una duda sobre si o no esto puede afectar el programa original (GNU ARM incrustado en este caso) que tal vez no sea compatible con los espacios en los nombres de ruta. Si alguien con más información puede aclarar en los comentarios, actualizaré mi publicación.

espero que esto ayude

Cuestiones relacionadas