2013-03-24 4 views
0

Этот вопрос может иметь простое решение, но я просто не могу его найти.Список только файлов из подпапок указанной папки

Предположим, что я использую команду DIR для создания списка .txt-файлов в папке «E: \ Documents». Как я могу убедиться, что перечислены только файлы .txt на один уровень ниже «E: \ Documents» (т. Е. В прямой подпапке), а не файлы в «E: \ Documents». «E: \ Documents \\» или «E: \ Documents \ * \», похоже, не делает трюк.

Заранее благодарен!

ответ

0
FOR /f "delims=" %%i IN ('dir /b/ad') DO IF EXIST ".\%%i\*.txt" DIR ".\%%i\*.txt" 

Это если вы хотите получить данные в формате DIR - с заголовками

FOR /f "delims=" %%i IN ('dir /b /ad') DO IF EXIST ".\%%i\*.txt" (
    FOR /f "delims=" %%q IN ('DIR /b ".\%%i\*.txt" ') DO ECHO ".\%%i\%%q" 
) 

, если вы хотите только имена файлов.

0

Это может быть достигнуто без dir:

for /d %%d in ("C:\basedir\*") do for %%f in ("%%~fd\*.txt") do echo %%~ff 

Если вам нужно не только имена файлов, но и подробную информацию о файлах, добавьте соответствующие классификаторы, например:

for /d %%d in ("C:\basedir\*") do for %%f in ("%%~fd\*.txt") do echo %%~azff 
  • a → атрибуты файла
  • t → Отметка файла
  • z → размер файла

См help for подробности.

Смежные вопросы