일괄 처리 텍스트 파일 중복 구현 코드

최근 에 중 복 된 내용 을 없 애 야 하기 때문에 bat 나 vbs 를 사용 하여 실현 할 생각 을 했 습 니 다.인터넷 에 이미 누군가가 다 썼 을 줄 은 몰 랐 습 니 다.테스트 도 마침 배 웠 습 니 다.
사용 방법:텍스트 를 일괄 처리 에 끌 어 다 놓 으 면 됩 니 다...

@echo off
:: Code by oicu#lsxk.org 2007/11/29

rem chcp 437>nul
::      ,utf-8         chcp  ,      ,
::            utf-16   。

:: pushd "%~dp1"
::     pushd popd,                。

if "%~1"=="" goto :EOF
set outputfile=%~dpn1_output%~x1

type nul>"%outputfile%"

echo Waiting...

for /F "tokens=1* delims=:" %%i in ('findstr /n .* "%~1"') do (
  findstr /B /E /C:"%%j" "%outputfile%">nul 2>&1 || echo.%%j>>"%outputfile%"
)

pause
start "" notepad "%outputfile%"
:: popd
exit
[오 이 큐 에서(Oh!I see you!) 라 는 대작 에서 언급 했다.
반복 하면 되 지.단점 은 느 리 고 원래 의 빈 줄 을 유지 하 는 것 이다.
다음은 vbs 구현 코드 입 니 다.
다음은 이 스 크 립 트 의 소스 코드 입 니 다.복사 한 후 vbs 접미사 로 저장 한 파일 입 니 다.두 번 누 르 면 실 행 됩 니 다.파일 을 CD 루트 아래 에 놓 을 text.TXT 입 니 다.특히 주의 하 십시오.텍스트 에 빈 줄 이 없 도록 한 줄 씩 기록 하 십시오.

Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001 
Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

strPathToTextFile = "C:\"
strFile = "Test.txt"

objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
   "Data Source=" & strPathtoTextFile & ";" & _
     "Extended Properties=""text;HDR=NO;FMT=Delimited"""

objRecordSet.Open "Select DISTINCT * FROM " & strFile, _
  objConnection, adOpenStatic, adLockOptimistic, adCmdText

Do Until objRecordSet.EOF

Set objFSO = CreateObject("Scripting.FileSystemObject")
   set Fp=objFSO.OpenTextFile("C:\test1.txt",8,True,0)
   fp.WriteLine objRecordSet.Fields.Item(0).Value
   fp.close
   set objFSO = nothing
   objRecordSet.MoveNext
Loop

좋은 웹페이지 즐겨찾기