저는 현재 나에게 힘든 시간을 주고 있는 배치 파일을 작업 중입니다. 헤더와 두 개의 열이 포함된 생성된 .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 ##
#################################################