배치를 사용하여 단일 텍스트 파일을 줄별로 여러 텍스트 파일로 분리하는 방법은 무엇입니까?

필립

다음 프로그램을 실행하고 있습니다.

@echo off
cls
set /p "filename=type file name>"
setlocal enabledelayedexpansion
for /r E:\ %%a in (*) do if "%%~nxa"=="%filename%" (
echo %%~dpnxa >>path.txt
)

다음 path.txt을 포함 하는 출력 파일 이 있습니다.

E:\new.txt 
E:\Redmi\new folder\new.txt
E:\windows\new folder\new folder\new.txt

나는 그것들을 별도의 파일에있는 것을 좋아합니다.

E:\new.txtpath1.txt

E:\Redmi\new folder\new.txtpath2.txt

E:\windows\new folder\new folder\new.txtpath3.txt

DavidPostill

단일 텍스트 파일을 줄별로 여러 텍스트 파일로 분리하려면 어떻게해야합니까?

Seth 의 주석을 기반으로 다음 배치 파일을 사용할 수 있습니다.

@echo off
cls
setlocal enabledelayedexpansion
set /p "filename=type file name>"
rem initialise counter to 1
set _count=1
for /r E:\ %%a in (*) do if "%%~nxa"=="%filename%" (
  echo %%~dpnxa >>path!_count!.txt
  rem increment the counter
  set /a _count+=1
  )
endlocal

메모:

  • 호출 쉘로 setlocal변수가 filename누출되는 것을 막기 위해 행을 이동했습니다 cmd.

추가 읽기

  • Windows CMD 명령 줄의 AZ 인덱스
  • Windows CMD 명령의 분류 된 목록
  • enabledelayedexpansion- 지연된 확장으로 인해 구문 분석 시간이 아닌 실행 시간에 변수가 확장됩니다.
  • endlocal- 배치 파일에서 환경 변경의 지역화를 종료합니다. 한 배치 파일에서 다른 배치 파일로 변수를 전달합니다.
  • for / r- 파일을 반복합니다 (Recurse 하위 폴더).
  • set -CMD 환경 변수를 표시, 설정 또는 제거합니다. SET로 변경 한 내용은 현재 CMD 세션 동안 만 유지됩니다.
  • setlocal- 배치 파일에서 환경 변수의 가시성을 제어하는 ​​옵션을 설정합니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관