CSV 파일의 내용에 기능 적용

CSV 파일의 내용에 기능 적용

저는 현재 나에게 힘든 시간을 주고 있는 배치 파일을 작업 중입니다. 헤더와 두 개의 열이 포함된 생성된 .CSV 파일이 있습니다. 파일은 또한 우연히 ASCII로 인코딩되었습니다(이것이 진짜 계시라는 것을 발견했습니다!). 두 번째 열에는 읽고 그 안에 포함된 각 항목에 함수를 적용해야 하는 텍스트 파일 목록이 포함되어 있습니다.

복사 또는 유형 >>을 사용하여 파일을 구문 분석하기 더 쉬운 단일 파일로 병합하려고 생각했지만 csv의 내용을 읽고 내용을 사용하는 데 어려움을 겪고 있습니다.

지금까지 나는 사용하고 있습니다

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

하지만 작동하지 않습니다...(내가 얻은 것은 빈 파일뿐입니다.) 나열된 모든 파일에 함수를 적용하여 결합된 콘텐츠를 처리할 수 있도록 다음에 무엇을 해야 할지 알 수 없는 것 같습니다. 나는 이틀 동안 이 문제로 어려움을 겪었고 단순해 보이지만 이해할 수 없는 것에 짜증이 나기 시작했습니다.

내 CSV 파일의 내용은 다음과 같습니다.

클라이언트 번호, 클라이언트 이름
44456, James Bond
33356, Doctor Evil

그리고 클라이언트 정보가 포함된 James Bond.txt, Mister Rogers.txt, Chief Bob,txt 및 Doctor Evil.txt라는 파일이 포함된 폴더가 있습니다. 그래서 저는 CSV 파일에 지시된 대로 필수 이름만 모아서 모든 항목의 전체 목록을 한 번에 인쇄하고 싶습니다.

이로 인해 상황이 명확해졌기를 바랍니다. (알고 있지만 설명하기 어렵습니다.)

편집 제안된 코드를 시도해 보았지만 여전히 작동하지 않습니다. 내가 얻는 것은 빈 파일뿐입니다... 하지만 어떤 이유로든 유망해 보인다고 생각합니다.

답변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

두 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    ##
#################################################

관련 정보