批處理處理文本文件去重復(fù)實現(xiàn)代碼
最近需要將重復(fù)的內(nèi)容去掉,所以就想到了使用bat或vbs實現(xiàn),沒想到網(wǎng)上已經(jīng)有人寫好了,測試也正好學(xué)習(xí)一下
使用方法:把文本拖到批處理上就行了。。。
@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
【 在 oicu (Oh! I see you!) 的大作中提到: 】
: 去重復(fù)倒是行。。缺點就是慢和保留原有的空行了。
以下是vbs實現(xiàn)的代碼
以下是這個腳本的源代碼,復(fù)制后另存為vbs后綴的文件,雙擊即可運行。文件要放在C盤根下的Text.TXT,請?zhí)貏e注意:文本中一行一條記錄,不要有空行。
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
相關(guān)文章
dos批量替換當(dāng)前目錄后綴名的實現(xiàn)代碼
有時候有些后綴名不滿足條件,就需要進行批量的替換,如果人為的去替換,那么如果量少的話還好說,量多的話一個個去替換就太傻了,今天從網(wǎng)絡(luò)上面查找了一些批量替換的dos命令,用起來還挺好用的,就直接把代碼貼在這邊2013-07-07批處理實現(xiàn)固定IP地址 系統(tǒng)自動登錄 登錄后鎖定計算機
一時無聊于是乎又寫了個批處理 廢話不多說直接上腳本 要用的把腳本復(fù)制到記事本中,再把記事本的后綴改為“.BAT”雙擊就可以了2012-04-04一鍵設(shè)置java 環(huán)境變量 cmd下查看、修改(覆蓋與添加)等說明
這篇文章主要介紹了cmd設(shè)置環(huán)境變量的、查看、修改(覆蓋與添加)等說明,需要的朋友可以參考下2018-01-01