Saltar carpetas ocultas en scripts .bat

Saltar carpetas ocultas en scripts .bat

Estoy intentando encontrar una manera de obtener una lista de todos los archivos, sin directorios ocultos. He probado varias variaciones de algo como esto:

dir  /b  /s  /a:-h  z:\  >toc-z.txt

pero esto sólo omite los archivos ocultos. Necesito una lista que excluya todas las carpetas ocultas, incluidos los archivos y subcarpetas de estas carpetas ocultas.

¿Hay alguna manera de omitir el análisis y la lista de carpetas ocultas?

Respuesta1

Es un poco complicado, pero probablemente podrías usar el xcopycomando con las opciones /ly /s(o quizás /e). La clave es la /lopción que le indica que muestre una lista de archivos que estánsercopiado en lugar de hacer copias. De forma predeterminada, xcopyno copia archivos ocultos o del sistema, por lo que serán ignorados.

Respuesta2

Es un comando largo, pero funciona y es bastante rápido :-)

Aquí está una línea larga para la línea de comando.

>toc-z.txt ((for %F in ("z:\*") do @echo %F)&for /f "delims=" %D in ('dir /s /ad-h-l /b z:\*^|sort') do @for %F in ("%D\*") do @echo %F)

Aquí está como un archivo por lotes.

@echo off
>toc-z.txt (
  for %%F in ("z:\*") do @echo %%F
  for /f "delims=" %%D in (
    'dir /s /ad-h-l /b z:\*^|sort'
  ) do for %%F in ("%%D\*") do echo %%F
)

información relacionada