Пакетный файл - Написал список файлов к переменной

Я хотел бы получить список всех файлов (включая их полный путь) в переменную, разделенную пробелами. Мой Google-fu, кажется, слаб в этом отношении, потому что я продолжаю сталкиваться с проблемами.

Мне сохранили базовый каталог в %baseDir % и хотел бы проанализировать его для файлов (не рекурсивно вызывающий или включая подкаталоги). Как я упомянул, это должно войти в список. Я предположил бы, что существует миленький ярлык, который я мог использовать, но для цикла и конкатенации добьется цели также.

Идеально, у меня было бы что-то вроде этого:

echo fileList

C:\file1.c C:\file2.c C:\file3.c
8
задан Joey 13 July 2010 в 15:01
поделиться

1 ответ

Довольно просто:

setlocal enabledelayedexpansion enableextensions
set LIST=
for %%x in (%baseDir%\*) do set LIST=!LIST! %%x
set LIST=%LIST:~1%

Фактически, вы найдете этот самый пример также в справке по команде set , доступной через help set , вместе с объяснением, почему наивный подход не сработает.

Чтобы использовать другой набор файлов (вместо all ), вы можете легко изменить подстановочный знак:

for %%x in (%baseDir%\*.c) do set LIST=!LIST! %%x
15
ответ дан 5 December 2019 в 11:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: