![일괄 처리로 텍스트 파일을 읽고 따옴표를 변수로 대체하여 새 파일로 만듭니다.](https://rvso.com/image/1316775/%EC%9D%BC%EA%B4%84%20%EC%B2%98%EB%A6%AC%EB%A1%9C%20%ED%85%8D%EC%8A%A4%ED%8A%B8%20%ED%8C%8C%EC%9D%BC%EC%9D%84%20%EC%9D%BD%EA%B3%A0%20%EB%94%B0%EC%98%B4%ED%91%9C%EB%A5%BC%20%EB%B3%80%EC%88%98%EB%A1%9C%20%EB%8C%80%EC%B2%B4%ED%95%98%EC%97%AC%20%EC%83%88%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EB%A7%8C%EB%93%AD%EB%8B%88%EB%8B%A4..png)
내 데이터베이스에서 다음 형식으로 5개의 개별 .txt 파일에 저장한 고객 피자 목록이 있습니다.
Filename = 25Percent.TXT
"555-1211"
"555-1212"
"555-1223"
각 목록은 따옴표로 묶인 전화번호이며 각 목록의 길이는 다양합니다.
첫 번째 질문
5개 텍스트 파일의 각 인용문으로 바꾸고 싶은 두 세트의 변수가 있습니다.
두 변수는 다음과 같습니다.
Var A = < Discount Pizza price for phone number is "
Var B = " 25 % >
텍스트 파일의 각 줄을 읽고 다른 텍스트 파일에 다음 내용을 쓰고 따옴표를 변수로 바꾸는 배치 파일을 실행하고 싶습니다.
New Filename = 25Percentfinished.TXT
< Discount Pizza price for phone number is "555-1211" 25 % >
< Discount Pizza price for phone number is "555-1212" 25 % >
< Discount Pizza price for phone number is "555-1223" 25 % >
그런 다음 나는 반복 할 것입니다30퍼센트.txt,35퍼센트.txt,40퍼센트.txt그리고 마지막으로50퍼센트.txt파일.
두 번째 질문
또한 5개의 새 파일을 함께 추가하고 싶습니다.
답변1
간단한 루프입니다 for
.
for /f "tokens=*" %%a in (25Percent.txt) do (
echo ^< Discount Pizza price for phone number is %%a 25 %%% ^>>>25Percentfinished.txt
)
사용법을 참조하세요 for /?
. 이는 파일을 한 줄씩 처리하여 해당 줄을 변수로 읽고 %%a
수정된 줄을 다른 파일에 추가합니다. and <
는 명령 프롬프트에서 특별한 의미를 갖기 때문에 (making and ) >
로 이스케이프됩니다 . 이 역시 특수 문자이기 때문에 '이스케이프'되지만 다른 문자처럼 이스케이프할 수는 없습니다.^
^<
^>
%
%%%
다음과 같이 여러 텍스트 파일을 결합할 수 있습니다.
copy file1.txt + file2.txt + file3.txt destination.txt
또는 루프 type
및 추가( >>
)를 수행할 수 있습니다(이렇게 하면 현재 디렉터리의 모든 파일이 알파벳 오름차순으로 정렬되어 결합됩니다).
for %%a in (*.txt) do (
type %%a>>destination.txt
)
답변2
OS를 지정하지 않으셨으므로 가능한 경우 작동할 수 있는 솔루션을 제공하겠습니다 sed
.
$ sed -e 's/^\(.*\)$/< Discount Pizza price for phone number is \1 25 % >/' < 25Percent.TXT