中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 12:38
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]分离出9,10位号码
可打印版本  797 / 5
第1楼 ka56 发表于 2010-03-29 20:58
中级用户 发帖 129 积分 234
[求助]分离出9,10位号码
我想把新申请到的QQ号码分离出9,10位.

QQ.txt如下:
914421872----zdhfd3e----yegdfgnoxjp_24333@foxmail.com----申请日期: 2009-10-17
914613410----oqcsd4udu----cegwgdvf_00673@foxmail.com----申请日期: 2009-10-17
1295686760----gdsf3wfe----xdyhgzmkvm_24291@foxmail.com----申请日期: 2009-10-17
917517855----kjw45rfh----lxlxdvxk_49606@foxmail.com----申请日期: 2009-10-17
1293888658----u27au6q3----gccidvqw_19724@foxmail.com----申请日期: 2009-10-17
1295776504----bwe0ggfo5----bhsdvdmym_54948@foxmail.com----申请日期: 2009-10-17
1153572352----b3gbgf7e2----rusddspph_54071@foxmail.com----申请日期: 2009-10-17
1295624496----53gfhgez----dhfrtrrqa_13930@foxmail.com----申请日期: 2009-10-17
1400678488----ll6cvchg----rjvfg6yia_81829@foxmail.com----申请日期: 2009-10-17

其中第一组"-----"前面是号码,后面是密码及其他,想得到:

9位的.txt:
914421872----zdhfd3e----yegdfgnoxjp_24333@foxmail.com----申请日期: 2009-10-17
914613410----oqcsd4udu----cegwgdvf_00673@foxmail.com----申请日期: 2009-10-17
917517855----kjw45rfh----lxlxdvxk_49606@foxmail.com----申请日期: 2009-10-17

10位的.txt:
1295686760----gdsf3wfe----xdyhgzmkvm_24291@foxmail.com----申请日期: 2009-10-17
1293888658----u27au6q3----gccidvqw_19724@foxmail.com----申请日期: 2009-10-17
1295776504----bwe0ggfo5----bhsdvdmym_54948@foxmail.com----申请日期: 2009-10-17
1153572352----b3gbgf7e2----rusddspph_54071@foxmail.com----申请日期: 2009-10-17
1295624496----53gfhgez----dhfrtrrqa_13930@foxmail.com----申请日期: 2009-10-17
1400678488----ll6cvchg----rjvfg6yia_81829@foxmail.com----申请日期: 2009-10-17


希望能找到速度快的,谢谢!!
第2楼 slore 发表于 2010-03-29 21:20
铂金会员 发帖 2,478 积分 5,212
sort QQ.txt


然后循环判断第10位是不是-
是的话,后面的都是9位

不然就直接判断是不是第10位为-,是是9位的,不是就是10位的
第3楼 ka56 发表于 2010-03-29 21:35
中级用户 发帖 129 积分 234
Originally posted by slore at 2010-3-29 21:20:
sort QQ.txt


然后循环判断第10位是不是-
是的话,后面的都是9位

不然就直接判断是不是第10位为-,是是9位的,不是就是10位的


谢slore大大指导!!
我基本属菜鸟级,平时只忙搞QQ,需要时才想起这里,想想惭愧啊... - -!
排序后会快些?判断语句我不会写,能给段完整的代码?
谢谢!!
先分离出一种,余下的用findstr /V反向我会.
第4楼 ka56 发表于 2010-03-29 22:10
中级用户 发帖 129 积分 234
@echo off
for /f "tokens=1 delims=----" %%a in (QQ.txt) do if %%a LSS 1000000000 echo %%a>>9位的.txt
余下的findstr /V反向,或;
for /f "tokens=1 delims=----" %%a in (QQ.txt) do if %%a GTR 1000000000 echo %%a>>10位的.txt

有效率更高的,请诸大大务指导下,谢谢!!

[ Last edited by ka56 on 2010-3-29 at 22:14 ]
第5楼 slore 发表于 2010-03-29 23:12
铂金会员 发帖 2,478 积分 5,212
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%a in (QQ.txt) do (
set line=%%a
if "!line:~9,1!"=="-" (echo %%a>>9位的.txt) else (echo %%a>>10位的.txt)
)
第6楼 ka56 发表于 2010-03-29 23:37
中级用户 发帖 129 积分 234
谢谢分享又一种思路!真好,您真伟大!!
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023