2013-05-17 1 views

답변

3

이 시도 :

@echo off&setlocal 
set "file=file.txt" 
for /f "delims=[]" %%i in ('^<"%file%" find /n "="') do set "split=%%i" 
(for /f "tokens=1*delims=[]" %%i in ('^<"%file%" find /n /v ""') do if %%i lss %split% echo(%%j)>"%file%.new1" 
<"%file%">"%file%.new2" more +%split% 
type "%file%.new?" 

..output은 다음과 같습니다

 
file.txt.new1 


test 
test1 
test2 
test5 
test 
test1 
test2 
test5 

file.txt.new2 


test 
test1 
test2 
test5 
test 
test1 
텍스트 파일은

============================================================================ 

텍스트 파일은 다음과 같습니다과로 구분됩니다

+0

이 배치 파일을 실행하려고 시도하지만 실행하면 중단됩니다 . 실행을 멈추고 싶을 때 종료해야합니다. – user1809753

+0

이것은 findstr의 "버그"이며, 입력 파일은 마지막 줄에'CR/LF'로 끝나야합니다. – Endoro

+0

나는 편집을했고, 코드는 이제'find'를 사용합니다. 그리고 이것이 당신에게 도움이 될 것입니다. – Endoro

2
@echo off 
set /p file=FILE TO PROCESS : 
del /q /f out.file* 
setlocal enableDelayedExpansion 
set out_file_counter=1 
for /f "usebackq delims=" %%L in ("%file%") do (
set line=%%L 
if "!line:~0,5!" equ "=====" (
    set /a out_file_counter=out_file_counter+1 

) else (
    echo !line!>>out.file.!out_file_counter! 
) 
) 
endlocal 
+0

답장을 보내 주셔서 감사합니다. 이 파일을 실행할 때 결과가 표시되지 않습니다. – user1809753

+0

파일 경로를 사용하여'(myfile.txt)'를 변경해야합니다 ... – npocmaka

+0

좀 더 사용하기 쉽게 스크립트를 변경했습니다 – npocmaka

관련 문제