Допустим, у меня есть папка A и папка B. Папка A имеет файлы A1 и A2. Папка B содержит файлы B1 и B2.

Я хочу создать текстовый файл в каждой папке со списком файлов в этой папке. Поэтому создайте файл A.txt в папке A, в котором перечислены имена файлов A1 и A2 и то же самое для B

Попробовал следующее, но не сработало

for /d %%g in ("*") do (
    for /r %%y in ("*.mp4") do (
        echo file '%%y'
    ) > ./%%g/mylist.txt
) 

Любая помощь приветствуется

3 ответа3

0

for /d /r . %%a in (*) do >"%%a\myList.txt" dir /b "%%a"

Для каждого каталога рекурсивно из текущего активного каталога отправьте результат команды bare dir указанному файлу внутри обрабатываемого каталога.

0

Начиная с папки %Base% этот пакет будет перебирать структуру папок и создавать mylist.txt содержащий все найденные файлы типа %ext% с добавлением file и заключенные в одинарные кавычки.

:: Q:\Test\2018\10\27\SO_1370390.cmd
@Echo off
Set "Base=X:\start\path"
Set "ext=.mp4"

for /R "%Base%" %%A in (.) do (
    ( for %%B in ("%%~fA\*%ext%") do Echo file '%%~fB'
    ) >"%%~fA\mylist.txt"
)
0

Это очень просто сделать с помощью командной строки:

cd "\path\to\folder-A"
dir /b *.mp4 > fileA.txt

Ключ /b вызывает список только пустых имен файлов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .