楼 主
DOS下有没有截取字段的命令
发表于 2007-04-28 01:49 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
如题,例如一个文件的一行是以空格,:,或者tab这样的字符分隔,可否将他们截取出来?
如
123:456:789
123 456 789
可以把123, 456,按照自己的要求截取出来?
第 2 楼
发表于 2007-04-28 01:59 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
可以,用for /f可以截取你想要的,搜索一下吧,很多讨论了。
第 3 楼
发表于 2007-04-28 02:13 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
第 4 楼
发表于 2007-04-28 12:42 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
还有一个问题没有找到,就是要是在字段数量不一定的情况下,该怎么写啊?
第 5 楼
发表于 2007-04-28 12:58 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
字段数量不一定,就要根据情况来使用变量的字符截取功能了,或者结合for命令来解决。
第 6 楼
发表于 2007-04-28 20:25 · 中国 安徽 马鞍山 电信
金牌会员
★★★★
积分 3,946 发帖 1,884 注册 2006-01-20 13:00 20年会员 UID 49283 性别 男
状态 离线
Originally posted by lxmxn at 2007-4-28 01:59:
可以,用for /f可以截取你想要的,搜索一下吧,很多讨论了。
版主,dos下有for/ f吗?是CMD下吧?
有的话,就太方便了。
第 7 楼
发表于 2007-04-29 02:56 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
Re lianjiang2004:
呵呵,我说的就是在CMD下面,也不知道DOS下面有没有,没有安装DOS。o_O
第 8 楼
发表于 2007-04-30 00:24 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
再问一个问题,我向在循环中计数,但是一下的代码不行
@echo off
set it=0
for /L %%i in (1,1,5) do (
set /a it=it+1
echo %it%
)
回到命令行后用echo查看变量是变了的,但是输出却都是0,请问这是什么问题。我是想在不用/L和%%i的情况下计数,所以不用echo %%i
第 9 楼
发表于 2007-04-30 00:59 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
搜索一下“变量延迟” or “SetLocal”。
@echo off&setlocal EnableDelayedExpansion
set it=0
for /L %%i in (1,1,5) do (
set /a it+=1
echo !it!
)
pause
第 10 楼
发表于 2007-05-01 11:07 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
谢谢版主,已经弄清楚了,还有一个问题,我最近编一个批处理的时候,要用一个程序过滤dir的输出,可是我发现用管道竟然比先把dir的结果写入一个文件,在用过滤程序过滤这个文件要慢,个人觉得管道应该更加快才是啊,不知道是什么原因呢?谢谢版主这几次的帮助
第 11 楼
发表于 2007-05-01 11:12 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
还有,我想知道自己的脚本的大概执行时间,不知道应该如何计算?
第 12 楼
发表于 2007-05-01 12:27 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
用echo如何输出像tab,backspace这样的特殊字符啊?
第 13 楼
发表于 2007-05-01 22:56 · 中国 湖北 武汉 电信
版主
★★★★★
积分 11,386 发帖 4,938 注册 2006-07-23 17:10 19年会员 UID 59080
状态 离线
Re paulhybryant:
1、用dir过滤之后再写入文件要比写入文件之后再过滤慢了,dir每输出一行就过滤一次,而用文件过滤,一次性把内容放在系统缓冲区,再来一起过滤,流程不一样,处理的速度自然不一样了;
2、计算脚本你运行时间,可以在脚本前后分别加上一句 echo %time% ,再来比较它们的差值;
3、输出tab或者backspace,可以这样:echo\[tab] 、echo\[backspace]。
第 14 楼
发表于 2007-05-02 20:45 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
谢谢斑竹,我用echo\[tab],输出的是[tab],不是制表符啊,请问是我那里搞错了?
第 15 楼
发表于 2007-05-02 22:43 · 中国 广西 柳州 联通
初级用户
★
积分 31 发帖 16 注册 2007-04-21 02:38 19年会员 UID 85912 性别 男
状态 离线
如果我想输出一个字符,包括特殊字符在内,入\r,\n这些,能够用制定ascii的方式输出么?不好意思,问了这么多,谢谢斑竹了
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正