2011-08-23 8 views
7

Quiero enumerar los archivos en una carpeta pero no en subcarpetas. DIR le permite listar tipos específicos de archivos (ocultos, listos para archivar, etc.) y también solo carpetas, pero no veo cómo listar solo archivos.Suprimir los nombres de directorio enumerados con DIR

Necesito la siguiente declaración para devolver los archivos para su posterior procesamiento, ¡pero los nombres de las carpetas están estropeando las cosas!

for /f %%a in ('dir /b %csvPath%') do (
) 

Respuesta

11

dir /b /a-d le dará los archivos sin directorios. Tenga en cuenta que no hay espacio entre /a-d. El '-' dice directorios "NO".

De la información dir /? ayuda:

/A   Displays files with specified attributes. 
    attributes D Directories    R Read-only files 
       H Hidden files    A Files ready for archiving 
       S System files    - Prefix meaning not 
    /B   Uses bare format (no heading information or summary). 
+0

fantástico. De hecho, leí los archivos de ayuda pero fue al final de un largo día. Gracias por señalar eso. – RichGK

0

que puede usar:

dir /b /a-d 

Qué va a suprimir directorios que va a continuación.

El interruptor /A tiene algunas otras opciones para ayudar con el filtrado:

 
/A   Displays files with specified attributes. 
attributes D Directories    R Read-only files 
      H Hidden files    A Files ready for archiving 
      S System files    I Not content indexed files 
      L Reparse Points    - Prefix meaning not 
0

desea que la opción /A-D:

for /f %%a in ('dir /A-D /b %csvPath%') do () 
1
dir /b /s /a-d 

/s listas de todos los directorios y subdirectorios que contienen todos los archivos, y (a-d) sin los directorios vacíos.

dir /b /s /a-d /p 

/p pausa

dir /b /s /a-d > list.txt 
Cuestiones relacionadas