배치 파일 : 루프 카운터 값을 상수 문자열에 연결할 수 없습니다.


0

이것은 여기서 계속됩니다. 배치 스크립트 : 여러 폴더에있는 여러 파일을 하나의 파일로 연결

동일한 상위 디렉토리의 20 개 폴더에 20 개의 파일 이름 'new.csv'가 있습니다. 모든 파일을 하나의 파일로 연결하고 싶습니다. 그래서 두 단계로 해보고 싶습니다.

  1. XCOPY를 사용하여 각 폴더의 각 new.csv를 부모 폴더의 new1, new2, new3 등으로 복사합니다. 부모 폴더에서이 작업을 수행 할 수 있다면 20 개의 csvs, new1, new2..new20.csv가 있습니다.

  2. 그럼, 난 그냥 할 수있어. copy new*.csv final.csv. 그래서, 이것들은 각각의 사본을 만들기 위해 쓴 코드입니다. new.csv 상위 폴더의 각 폴더에서 가져옵니다.

    setlocal EnableDelayedExpansion
    set /a i=0
    FOR /D /R %%G in ("*") DO (
    
    cd %%G 
    set  /a i=i+1
    XCOPY new.csv ..\new%!i!%.csv )
    

문제는 새 파일을 만드는 것입니다. 이름이 new1.csv, new2.csv, new3.csv ... new20.csv 인 20 개의 파일을 만들고 싶습니다. 카운터 값이 증가하고 있지만 'new'에 추가 할 수 없습니다. 당신이 도와주세요.


네가 자기 대답을했는지는 알지만 네 질문은 말이 안되는구나. 먼저 하나의 파일에 연결하려는 new.csv라는 이름의 20 개의 파일이 모두 있다고 가정합니다. 다음으로는 이름이 new1.csv, new2.csv 인 20 개의 파일을 만들고 싶다고합니다. 이것은 분명히 모순입니다. 두 가지 중 어느 것을 달성하려고합니까?
Karan

그것이 불분명 한 경우에 나는 유감 스럽다. 나는 그것을 설명하려고 노력했다.
user1930402

알았다. 기록을 위해서는이 2 단계 프로세스가 필요하지 않지만 이미 잘 작동하고 있다면 좋습니다.
Karan

알고 있었어. 쉬운 방법을 공유해주십시오.
user1930402

답변:


0

감사! 나는 나를 위해 일하는 것이 무엇이든간에 나 자신에게 대답하고있다. 나는 마지막 줄을 이렇게 바꿨다.

 XCOPY new.csv ..\new_!i!.csv 

0

통합 CSV에 나열된 개별 CSV에 대한 전체 경로를 원하면 다음을 사용하십시오.

for /r %f in (*.csv) do @echo "%f" >> New.csv && echo. >> New.csv && type "%f" >> New.csv && echo. >> New.csv && echo --- >> New.csv

방금 CSV 콘텐츠를 원하면 다음을 사용하십시오.

for /r %f in (*.csv) do @type "%f" >> New.csv && echo. >> New.csv

echo. 파일에 개행을 추가하고 명령을 더 단축 할 필요가 없으면 제거 할 수 있습니다.

이 명령은 상위 디렉토리에 입력해야합니다. 배치 파일에서 사용하는 경우 각 % 기호를 두 배로 늘리십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.