第 16 楼
发表于 2009-03-03 15:08 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
我就懒得装2009了
你是怎么替换的
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
第 17 楼
发表于 2009-03-03 15:33 · 中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
上传的QQ2009信息info.db文件
http://upload.cn-dos.net/img/1348.rar
例如有如下的乱码:
涳艛?忌:J垟麳]CF K-婣硵艛?忌:鉁s?殸⑽矎?
NF
515187266 9TD 傢ろ
04 435853964 -TD 傘18娿
?
5? o欙L( } ~搁搁块€8362-406
務蠚崄u39E拞r 515187266 >TD
ffffTA ?{-%/%//>PWf@=Oφ≌οη∠┫
要求:分行显示数字串。
1,由于QQ号码与乱码中的数字可能因为直接过滤其他字符而导致过滤后QQ号码与乱码中的数字连在一起而无法分辨,所以 个人认为应该使用替换。
2,因为乱码存在类似8362-406的数字串,所以在过滤时不能过滤掉-
3,由于该乱码中存在数字,所以少于5位的连续数字串要求被删除。
4,因为乱码存在类似8362-406的数字串,这些不是QQ号码,删除中间含有-的数字串。
5,删除重复的数字串
提取QQ号码后的示例效果如下:
435853964
515187266
[
Last edited by Hanyeguxing on 2009-3-4 at 01:16 ]
第 18 楼
发表于 2009-03-03 15:38 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
批处理文件名不能存成和命令一样的名字,不能存成COPY 和FR之类的
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
第 19 楼
发表于 2009-03-03 15:38 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
你就传一份文件上来吧
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
第 20 楼
发表于 2009-03-03 18:55 · 中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
第 21 楼
发表于 2009-03-04 00:13 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
还是先说明你这样做的目的吧
这样做究竟是为了什么
是为了把QQ号码提取出来,还是单纯就是要QQ号码之外的字符替换掉
[ Last edited by yishanju on 2009-3-4 at 00:17 ]
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
第 22 楼
Re 17楼
发表于 2009-03-04 00:17 · 美国 惠普HP
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
第 23 楼
发表于 2009-03-04 01:17 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
Originally posted by yishanju at 2009-3-4 00:13:
还是先说明你这样做的目的吧
这样做究竟是为了什么
是为了把QQ号码提取出来,还是单纯就是要QQ号码之外的字符替换掉
当然是为了把QQ号码提取出来。。。
我是这样做的:
1,首先,将文件备份,使用fr替换“-”与“0-9”之外的全部字符(因为乱码的数字中间有-,所以保留,例如801056-105)为Z。
2,然后将Z合并为空格
3,接着,以空格换行。但这个命令在运行中造成部分号码丢失及错误,不知道该怎么弄才好。
4,删除空行及空格,特殊字串
5,删除重复行
@echo off&setlocal enabledelayedexpansion
copy info.db isee1.txt>nul 2>nul
fr -ric:"" -t:"Z" ISee1.txt
for /f "delims=" %%i in (ISee1.txt) do (
set han=%%i
>>ISee2.txt echo !han!
)
del ISee1.txt
fr -f:"ZZ" -t:"Z" ISee2.txt
find ISee2.txt "ZZ" && GOTO CC||fr -f:"Z" -t:" " ISee2.txt
for /f "tokens=1*" %%n in (ISee2.txt) do (
set xing=%%n
>>ISee1.txt echo !xing!
>>ISee1.txt echo !xing!
)
del ISee2.txt
for /f "delims=" %%k in (ISee1.txt) do (
set ye=%%k
set "ye=!ye: =!"
set "ye=!ye:012345789=!"
set "ye=!ye:0123456789=!"
>>ISee2.txt echo=!ye!
)
del ISee1.txt
setlocal disabledelayedexpansion
for /f "delims=" %%l in (ISee2.txt) do (
if not defined %%l set %%l=A & echo %%l>>ISee1.txt
)
del ISee2.txt
。。。。。。
6,::删除带-的字串或行
::删除字串少于5位的行(乱码中的连续数字不会达到5位)
。。。。。。哎,没弄好呢
[
Last edited by Hanyeguxing on 2009-3-4 at 02:08 ]
第 24 楼
发表于 2009-03-04 01:27 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
。。。。
这难度上了不是一个等级,我不会了
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
第 25 楼
发表于 2009-03-04 02:00 · 中国 吉林 延边朝鲜族自治州 延吉市 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
Originally posted by yishanju at 2009-3-4 01:27:
。。。。
这难度上了不是一个等级,我不会了
中途逃跑,是不厚道滴。。。。哈哈
第 26 楼
发表于 2009-03-04 05:37 · 美国 惠普HP
版主
★★★★★
积分 9,023 发帖 5,017 注册 2007-05-31 19:39 19年会员 UID 89899 性别 男
状态 离线
@echo off
echo 处理中,请稍等几分钟...
sed "s//\n/g" Info.db>%temp%\a.txt
findstr ^*$ %temp%\a.txt>%temp%\b.txt
sort %temp%\b.txt>%temp%\c.txt
type nul>%temp%\d.txt
for /f "delims=" %%a in (%temp%\c.txt) do (
findstr /x /c:"%%a" %temp%\d.txt>nul 2>nul||echo.%%a>>%temp%\d.txt
)
start %temp%\d.txt
第 27 楼
发表于 2009-03-04 21:55 · 中国 广东 深圳 电信
中级用户
★★
积分 297 发帖 135 注册 2006-10-21 12:00 19年会员 UID 67627 性别 男
状态 离线
//&@cls&cscript -nologo -e:javascript "%~f0">r.txt&start r.txt&exit/b
WScript.Echo( new ActiveXObject("Scripting.FileSystemObject").OpenTextFile("Info.db").ReadAll().match( /{6,10}/gim ).join("\n") );
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
newxso
+2
2009-04-24 05:33
第 28 楼
发表于 2009-04-23 22:52 · 中国 湖北 武汉 电信
中级用户
★★
积分 247 发帖 83 注册 2005-09-12 12:06 20年会员 UID 42446 性别 男
状态 离线
Originally posted by HAT at 2009-3-4 05:37:
@echo off
echo 处理中,请稍等几分钟...
sed "s//\n/g" Info.db>%temp%\a.txt
findstr ^*$ %temp%\a.txt>%temp%\b.txt
sort %temp%\b ...
本来想按这个思路回复的,细看原来您先回了
第 29 楼
发表于 2009-04-24 00:50 · 中国 广东 东莞 电信
银牌会员
★★★
批处理编程迷
积分 1,916 发帖 752 注册 2008-12-28 04:30 17年会员 UID 135147 性别 男 来自 广西
状态 离线
能否替换的时候,把所有非数字换为0a(换行符),可以的话,再加一个
for /f %%a in (...
就可以所有数字串提取出来了。
再判断%%a是否大于9999便知道是否为QQ号了
这样做速度会快很多。
[ Last edited by netbenton on 2009-4-23 at 22:55 ]
第 30 楼
发表于 2009-04-24 03:08 · 中国 北京 联通
银牌会员
★★★★
[b]看你妹啊[/b]
积分 1,488 发帖 1,357 注册 2006-05-20 12:00 20年会员 UID 55770
状态 离线
再判断%%a是否大于9999便知道是否为QQ号了
这思路秒啊
有问题请发论坛或者自行搜索,再短消息问我的统统是SB
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正