Comando uso de la línea:
for /f %f in (`dir /b c:\`) do echo %f
Uso de archivo por lotes:
for /f %%f in (`dir /b c:\`) do echo %%f
actualización: si el directorio contiene archivos con el espacio en los nombres, es necesario cambiar el delimitador el comando for /f
esta usando. por ejemplo, puede usar el char de tubería.
for /f "delims=|" %%f in ('dir /b c:\') do echo %%f
Actualización 2: (rápida de un año y medio después de la respuesta original :-)) Si el nombre del directorio en sí tiene un espacio en el nombre, se puede utilizar la opción usebackq
en el for
:
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files"`) do echo %%f
Y si tiene que utilizar la reorientación o la tubería del sistema, utilice el carbón de escape (^
):
for /f "usebackq delims=|" %%f in (`dir /b "c:\program files" ^| findstr /i microsoft`) do echo %%f
Intenté enumerar los archivos en un directorio actual con este comando [para/f %% f in ('dir/b.') do echo %% f] ... Desafortunadamente, los archivos con espacios tuvieron su nombre impreso en su primer espacio ...? Gracias –
Al menos para algunos comandos, la variable del archivo debe estar entre comillas dobles. – Jirka
Esto también es útil: Cómo hacer varias cosas para cada archivo en un directorio con un script por lotes http://stackoverflow.com/questions/2304867/how-to-do-multiple-things-to-each-file-in -a-directory-with-a-batch-script? lq = 1 – Snekse