2012-01-17 12 views
14
for /r %%i in (*) do (echo %%i) 

Resultados enuna sola línea de declaración: i %% 'inesperados en este momento'

%% i era inesperada en este momento

¿Por qué?

+1

¿No es '% i' dentro del' para' real? Me gusta como el parámetro para el 'echo'. – Blindy

+0

Dentro de un lote que funciona bien para mí, ¿hay algún otro código en el archivo? –

+4

% para la línea de comandos, %% para el archivo por lotes. –

Respuesta

21

debe estar tratando de ejecutar el comando desde la línea de comandos y no desde dentro de un archivo por lotes. Use un solo% en lugar de dos cuando se ejecuta desde la línea de comando.

for /r %i in (*) do (echo %i) 

Escriba HELP FOR desde la línea de comandos y lea el tercer párrafo.

+0

Si ve "No lo esperaba en este momento", lea http://stackoverflow.com/questions/14509652 antes de cortar y pegar esta respuesta en su archivo. – Leo

0

Sintaxis:

FOR /R [[drive:]path] %%parameter IN (set) DO command 

necesita la ruta antes de %% i ... que es por eso que es Unexpected

Si usted quiere hacer * para el directorio actual, sólo tiene que utilizar para el "\". ruta

for /r ".\" %%i in (*) do (echo %%i) 
+0

La ruta es ** NO ** requerida después de la opción/r. Por defecto está en el directorio actual. – dbenham

+0

meh ... archivo por lotes especificado por el usuario y eso es lo único que vi que faltaba. Entonces, es un problema de PEBKAC =/ – Mechaflash

Cuestiones relacionadas