Применить функцию к содержимому CSV-файла

Применить функцию к содержимому CSV-файла

В настоящее время я работаю над пакетным файлом, который доставляет мне много хлопот. У меня есть сгенерированный файл .CSV, содержащий заголовок и два столбца. Файл также оказался закодированным как ASCII (обнаружение этого было настоящим откровением!) Во втором столбце содержится список текстовых файлов, которые мне нужно прочитать и применить функцию к каждой из записей, содержащихся в них.

Я думал использовать команду copy или type >>, чтобы объединить файлы в один, который было бы легче анализировать, но у меня возникли трудности с чтением содержимого CSV-файла и его использованием...

Пока что я использую

for /f "skip=1 usebackq tokens=1-2 delims=," %%a in ("%temp%\list.txt") do echo %%b>>"%temp%\newfile.txt"

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

Вот содержимое моего CSV-файла

Номер клиента,Имя клиента
44456,Джеймс Бонд
33356,Доктор Зло

И у меня есть папка, содержащая файлы с именами James Bond.txt, Mister Rogers.txt, Chief Bob,txt и Doctor Evil.txt, которые содержат информацию о клиенте. Поэтому я хочу собрать только требуемые имена, как предписано в CSV-файле, а затем распечатать полный список всего за один раз.

Надеюсь, это прояснит ситуацию (я знаю, это трудно объяснить).

EDIT Я попробовал предложенный фрагмент кода, но он все равно не работает... Все, что я получаю, это пустой файл... но по какой-то причине мне кажется, что это выглядит многообещающе.

решение1

При условии, что Client nameв папке столбцов имеются файлы с одинаковыми именами и .txtрасширениями, подойдет следующий пакет.

:: Q:\TEST\2017-05\25\DEMO\SU_1212933.cmd
@Echo off
For %%A in (".\folder") Do Set "folder=%%~fA"
( for /f "skip=1 usebackq tokens=1* delims=," %%a in (
   ".\list.csv"
  ) do If Exist "%folder%\%%b.txt" Type "%folder%\%%b.txt"  
) >".\Report.txt"

Для демонстрации это моя тестовая среда

> tree . /F
Q:\TEST\2017-05\25\DEMO
│   SU_1212933.cmd
│   list.csv
│   Report.txt
└───folder
        James Bond.txt
        Doctor Evil.txt

содержимое двух текстовых файлов вfolder

> type folder\*.txt

folder\James Bond.txt

#################################################
## this is file "James Bond.txt" in folder     ##
#################################################

folder\Doctor Evil.txt

#################################################
## this is file "Doctor Evil.txt" in folder    ##
#################################################

После запуска пакета файл report.txt содержит:

> type Report.txt
#################################################
## this is file "James Bond.txt" in folder     ##
#################################################
#################################################
## this is file "Doctor Evil.txt" in folder    ##
#################################################

Связанный контент