여러 csv 파일이 있는 디렉토리가 있습니다. 창 10의 배치 스크립트를 사용하여 각 파일의 줄 수, 각 파일의 수정 날짜 및 헤더 행 뒤 첫 번째 열의 문자열을 반환하고 싶습니다. 어떻게 텍스트 파일로 출력합니까?
예
File 1: String 100 lines 1/12/2019
File 2: String 100 lines 1/10/2019
File 3: String 200 lines 1/12/2019
답변1
나는 당신을 위해 스크립트를 작성하지는 않지만 당신이 원하는 방법을 제공할 것입니다. 먼저 질문을 두 부분으로 나누어 보겠습니다.
1.- Dir의 줄 수를 가져옵니다.
for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do set /a count+=1
헤더 다음에 첫 번째 행을 얻으려면 그렇게 하겠지만 루프 중단을 사용하면 됩니다.
for /f "usebackq tokens=1 delims=," %%a in ("you_file_path") do (
set /a count+=1 && if count==2 (first_row=%%a && goto next)
)
:next
2.- 수정일
for /f "tokens=1,2 delims= " %%a in (
'dir "FullDirPath" ^| find /i "File_name"'
) do set ArchDate=%%a
이제 이것을 함께 붙이고 스크립트를 만드는 것은 당신에게 달려 있습니다. 위 코드를 사용하고 각 루프의 끝에서 모든 파일을 반복해야 합니다 echo "%first_row%" "%archdate%" "%count%"
.echo "%first_row%" "%archdate%" "%count%" > file.txt
에서 이 메서드를 테스트할 수 있지만 cmd
터미널에서 변수를 사용하려면 %%a
를 바꿔야 합니다 %a
. 배치 스크립트에서는 is %%a
가 올바른 구문이지만 터미널에서는 %a
올바른 sintax입니다.
건배.