2014-10-07 3 views
0

배치 스크립트를 사용하여 파일의 특정 줄을 제거하고 싶습니다.배치 스크립트를 사용하여 파일에서 사용자 정의 줄을 제거하는 방법

여기 '내 시나리오입니다. 예를 들어, "Files.txt"라는 .txt 파일이 있습니다.

Files.txt를 열면. 파일 목록이 들어 있습니다. 예를 들면 : 나는 그가 제거하고자하는 라인의 일부 옵션을 가지고 사용자가 원하는, 이제

SET AAAAA 
GET BBBBB 
MOV CCCCC 
COP DDDDD 

: 당신이 Sample1.txt을 열 때

Name  Sample1.txt  Sample2.txt 
Age  Age1.txt   Age2.txt 

, 여기에 샘플 내용입니다 Sample1.txt 파일에 있습니다. 예를 들어,이 후

Enter the line/s you want to remove (separated by comma): SET,MOV 

의의 Sample.txt 파일의 내용이 될 것입니다 :

GET BBBBB 
COP DDDDD 

기본적으로, 우리는 Files.txt, 열 2, 3 비교됩니다를 호출하는 경우.

for /f "tokens=2,3" %%a in ('type c:\sample\files.txt') do (
echo Comparing Column 2: %%a Column 3: %%b 
rem Logic for comparison goes here 

이제 comaparing하기 전에 사용자가 비교에 포함하고 싶지 않은 파일의 줄을 제거하는 옵션을 원합니다. 이미 비교 열 2에 대한 논리를 가지고

주 3

답변

0

제거 줄 스크립트

@echo off 

For /f "tockens=1-2 delims= " %%a in (nameoffile.txt) do (

Set /p line= enter line to remove : 

If not "%%a"=="!line!" (

Echo >nameoffile.txt 

Echo %%a %%b >> nameoffile.txt 

     ) 

) 

Nameoffle는 루프에 세트 컬렉션에서 동일 때문에 if 문에서 반향한다 배치 파일

+0

모르드개 텍스트 파일과 같은 디렉토리에 원본 파일

장소 배치 파일을 덮어 쓸 수 예를 들어 파일 이름이 들어있는 nameoffile.txt가 있습니다. 파일의 원래 파일 이름에 nameoffile.txt가 포함되도록하려면 어떻게해야합니까? – PeterS

관련 문제