楼 主
[已解决]高手帮我编写一下截取指定数字的批处理。
发表于 2010-11-25 21:06 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
文本txt文件最后一行如下:
"已完成" "呼叫已完成" "0x00000012" 11/24/2010 17:21:47 11/24/2010 17:23:31 "USB Data Fax Voice Modem" "C:\Documents and Settings\All Users\Application Data\Microsoft\Windows NT\MSFax\Queue\1CB8BB904D660.tif" 80054 "Fax" "Fax" "88888888" " " 4
要求只取"88888888"里的数字,这个数字位数可能会变化,不一定就是8位,还有整个行的字符长度也会变化,有什么办法可以只取到这里面的数字,而且不能多取也不能少取,哪位高手帮忙一下。
[ Last edited by ajian on 2010-12-3 at 16:50 ]
第 2 楼
发表于 2010-11-25 21:18 · 中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310 发帖 2,044 注册 2005-09-26 12:00 20年会员 UID 42843 性别 男 来自 四川南充
状态 离线
80054 和 4也是纯数字吧 他们也要取吧?
还有其他规律吗? 纯数字都是""内的吧?
第 3 楼
发表于 2010-11-25 21:20 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
第 4 楼
发表于 2010-11-25 21:22 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
4要取也行,但得保存在另一个变量,4也可能会有位数变化,代表几页传真。
第 5 楼
发表于 2010-11-25 21:28 · 中国 北京 联通
高级用户
★★★
据说是李先生
积分 609 发帖 400 注册 2008-04-23 15:55 18年会员 UID 116706 性别 男
状态 离线
第 6 楼
发表于 2010-11-25 22:25 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
第 7 楼
发表于 2010-11-25 22:39 · 中国 北京 联通
高级用户
★★★
据说是李先生
积分 609 发帖 400 注册 2008-04-23 15:55 18年会员 UID 116706 性别 男
状态 离线
这样取的依据是它的位置一直是第 13 个
@echo off
set fn="C:\Documents and Settings\Ching Chum\Desktop\新建 文本文档.txt"
for /f "usebackq delims=" %%a in (%fn%) do set lastLine=%%a
call :getThe13thArg theNumber %lastLine%
echo 截取的数字是 %theNumber%
pause
goto :EOF
:getThe13thArg
set varName=%1
for /l %%i in (1,1,13) do shift /1
set %varName%=%1
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
ajian
+1
2010-12-03 16:50
第 8 楼
发表于 2010-11-25 23:32 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
不能根据位置,因为其它地方的字符都有可能会变化的。
第 9 楼
发表于 2010-11-25 23:42 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
从后面截取的话,只要注意那个4有可能会变化,有时会有两个、三个数字,算起来比前面要简单。
第 10 楼
发表于 2010-11-28 23:59 · 中国 福建 泉州 晋江市 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
第 11 楼
发表于 2010-11-29 10:51 · 中国 湖北 黄石 电信
中级用户
★★
积分 330 发帖 244 注册 2006-04-14 14:07 20年会员 UID 53823 性别 男 来自 湖北
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=" %%z in (test.txt) do (
set "var=%%z"
set "var=!var: = !"
for /f "tokens=11 delims= " %%a in ("!var!") do set "var=%%a"
echo.!var:"=!
)
pause
第 12 楼
发表于 2010-11-29 12:18 · 中国 吉林 延边朝鲜族自治州 电信
银牌会员
★★★
正在学习中的菜鸟...
积分 1,039 发帖 897 注册 2009-03-01 15:34 17年会员 UID 140302 性别 男 来自 在地狱中仰望天堂
状态 离线
楼主说指定的数字,却没有说如何定位到这个数字的规律,顺便说一下,0x00000012也是数字。。。
[ Last edited by Hanyeguxing on 2010-11-29 at 13:29 ]
第 13 楼
发表于 2010-12-01 22:23 · 中国 福建 泉州 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
第 14 楼
发表于 2010-12-01 22:27 · 中国 福建 泉州 电信
初级用户
★
积分 38 发帖 38 注册 2010-11-17 22:11 15年会员 UID 177740 性别 男
状态 离线
第 15 楼
发表于 2010-12-08 16:31 · 中国 广东 深圳 诺瓦科技发展有限公司
新手上路
★
积分 18 发帖 18 注册 2010-12-06 16:28 15年会员 UID 178780 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正