中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-03 01:53
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 快速查询某个文件中的字符串重复不重复? 查看 873 回复 3
楼 主 快速查询某个文件中的字符串重复不重复? 发表于 2007-01-11 00:47 ·  中国 江苏 苏州 中移铁通
初级用户
★★
积分 144
发帖 66
注册 2006-11-30 00:37
19年会员
UID 72121
性别 男
状态 离线
@echo off
setlocal EnableDelayedExpansion
echo =========>tem.txt
set a=1
for /f "skip=!a! tokens=1 delims= " %%a in (mi.txt) do if "%%a"=="!b!" echo %%i>>tem.txt
goto :eof
:: "!b!"为set产生的


mi.txt文件的内容为:
123456 fdsfggfg
456456 fdsfsfdg
....
多多不胜数

其中前面为6位固定,后面为8位固定,中间为两空格.
为什么这个式子提醒为:
此时不应有 !a! tokens=1 delims= "。

但我改后为:
for /f "tokens=1 delims= skip=!a! " %%a in (mi.txt) do if "%%a"=="!b!"

提醒为:
此时不应有 "。

在线=急用!
谢谢!
2 发表于 2007-01-11 00:55 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线

  没有明白你这个批脚本的目的是什么。

  重复的是什么意思?asdf和asdg算不算重复?
3 发表于 2007-01-11 01:15 ·  中国 江苏 苏州 中移铁通
初级用户
★★
积分 144
发帖 66
注册 2006-11-30 00:37
19年会员
UID 72121
性别 男
状态 离线
就是说mi.txt中的前6位是完全一样的.
如:123456同123456是重复的,而123654同123554是不一样的
谢谢!
4 发表于 2007-01-11 09:50 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  你要检查那些部分的字符串是否重复?同一行的前后列?不同行的相同列?请说清楚一点,而不应该仅仅放一段代码出来就完事——代码一向是很容易误导人的。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
论坛跳转: