• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell
您的位置:首页 > 脚本语言 >DOS/BAT > 批处理处理文本文件去重复实现代码

批处理处理文本文件去重复实现代码

作者:mdxy-dxy 字体:[增加 减小] 来源:互联网

mdxy-dxy 通过本文主要向大家介绍了批处理文本文件,批处理打开文本文件,批处理修改文本文件,批处理读取文本文件,文本文档批处理等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com

最近需要将重复的内容去掉,所以就想到了使用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
</div>

【 在 oicu (Oh! I see you!) 的大作中提到: 】
: 去重复倒是行。。缺点就是慢和保留原有的空行了。

以下是vbs实现的代码

以下是这个脚本的源代码,复制后另存为vbs后缀的文件,双击即可运行。文件要放在C盘根下的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
</div>

</div>

您可能想查找下面的文章:

  • 批处理处理文本文件去重复实现代码

相关文章

  • DOS下命令符开启wifi无internet访问的解决办法
  • CMD记录器改良版代码
  • 用批处理列出所有开机启动项的命令
  • DOS批处理中%~dp0等扩充变量语法详解
  • 使用dos批处理文件的几个高级命令,判断
  • 秒用自动关机命令实现定时提醒你该睡觉了
  • 使用BAT批处理执行sql语句的代码
  • 用dos命令实现导入、导出windows计划任务详解
  • Cmstp 安装或删除“连接管理器”服务配置文件
  • 原创批处理之网站屏蔽与解除屏蔽批处理

文章分类

  • vbs
  • DOS/BAT
  • hta/htc
  • python
  • perl
  • VBA
  • ColdFusion
  • ruby
  • PowerShell
  • Lua
  • Golang
  • linux shell

最近更新的内容

    • 批处理(dos/bat)最完整人性化教程第1/2页
    • 一个“灵异”批处理引发的思考加补充说明
    • 批处理常用网络命令和符号篇
    • 批处理_mysql建立游戏排行榜!
    • cmd findstr 字符串查找增强使用说明
    • 如何让批处理程序启动的时候最小化
    • 用批处理得到每个目录占用的空间
    • windows服务操作之删除服务 批处理实现
    • DOS下命令符开启wifi无internet访问的解决办法
    • 如何在WinNT/2K/XP下安装纯DOS的方法

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有