中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 请教:纯 DOS 下带有空格的字符串处理问题
作者:
标题: 请教:纯 DOS 下带有空格的字符串处理问题 上一主题 | 下一主题
jmlvww
新手上路





积分 7
发帖 4
注册 2006-12-31
状态 离线
『楼 主』:  请教:纯 DOS 下带有空格的字符串处理问题

有这么一个字符串 "abcdefg1234 efdafda" 不包含"",中间是若干个空格 请问在纯 DOS 下有办法取到 abcdefg1234 吗? [ Last edited by jmlvww on 2009-2-19 at 11:42 ]


2009-2-19 11:40
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
sady2009
初级用户





积分 58
发帖 60
注册 2009-2-18
状态 离线
『第 2 楼』:  

@echo off for /f "tokens=1,2 delims= " %%i IN (a.txt) DO @echo %%i%%j > b.txt 这样可以吗? 将字串保存为a.txt 输出为b.txt 小弟还很菜,学习来了


2009-2-19 12:02
查看资料  发短消息  网志   编辑帖子  回复  引用回复
jmlvww
新手上路





积分 7
发帖 4
注册 2006-12-31
状态 离线
『第 3 楼』:  

for /f "tokens=1,2 delims= " %%i IN (a.txt) DO @echo %%i%%j > b.txt Syntax error,纯 DOS 下比较不好处理。


2009-2-19 12:38
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 4 楼』:  

楼上那句肯定是%%i这个位置有语法错误,仔细看看cmd提供的帮助, 在文件里面参数要写为%%i, 但是如果实在命令行执行的时候就使用:%i PS: 关于取字符串的问题,可以参考 for /?, 学好for,这问题就容易了.论坛有很多学习贴,搜索以下. [ Last edited by zhengqian529 on 2009-2-19 at 17:18 ]


2009-2-19 17:17
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (250988158)  编辑帖子  回复  引用回复
Sufone
中级用户





积分 256
发帖 124
注册 2007-12-18
状态 离线
『第 5 楼』:  

Originally posted by zhengqian529 at 2009-2-19 17:17: 楼上那句肯定是%%i这个位置有语法错误,仔细看看cmd提供的帮助, 在文件里面参数要写为%%i, 但是如果实在命令行执行的时候就使用:%i PS: 关于取字符 ...
楼主要求是“纯DOS”,在纯DOS中执行2楼的命令必定会报错


2009-2-19 17:30
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
zhengqian529
初级用户





积分 100
发帖 93
注册 2009-1-14
来自 湖南
状态 离线
『第 6 楼』:  

哦.www.cn-dos.net/forum ... 这个帖子提到使用第三方软件strings,不知道对楼主有帮助不? 纯dos下提取日期时间 www.cn-dos.net/forum ... [ Last edited by zhengqian529 on 2009-2-19 at 17:40 ]


2009-2-19 17:36
查看资料  发送邮件  访问主页  发短消息  网志  OICQ (250988158)  编辑帖子  回复  引用回复
jmlvww
新手上路





积分 7
发帖 4
注册 2006-12-31
状态 离线
『第 7 楼』:  

strings 试过了,思路是用 find 查找连续几个空格,然后从第一个字符开始取。 问题是 strings 不支持查找字符为空格的。


2009-2-19 18:08
查看资料  发送邮件  发短消息  网志   编辑帖子  回复  引用回复
lianjiang2004
金牌会员





积分 3946
发帖 1884
注册 2006-1-20
状态 离线
『第 8 楼』:  

用nset处理,搜索一下就行了。




Windows 一键还原 www.yjhy.com
2009-2-19 22:23
查看资料  发短消息  网志   编辑帖子  回复  引用回复
DOSforever
金牌会员





积分 4639
发帖 2239
注册 2005-1-30
状态 离线
『第 9 楼』:  

4DOS 的一个 @word 变量函数就解决了 @word[0,abcdefg1234 efdafda]




DOS倒下了,但永远不死 DOS NEVER DIES ! 投票调查: www.cn-dos.net/forum/v ... 本人尚未解决的疑难问题: www.cn-dos.net/forum/v ... www.cn-dos.net/forum/v ... www.cn-dos.net/forum/v ...
2009-2-20 00:10
查看资料  发短消息  网志   编辑帖子  回复  引用回复
netbenton
银牌会员

批处理编程迷


积分 1916
发帖 752
注册 2008-12-28
来自 广西
状态 离线
『第 10 楼』:  

如果内容已经在变量str,那好办: 写一个bbb.bat,内容如下: set str1=%1 set str2=%2 执行: call bbb.bat %str% 如果串在a.txt的第一行,也有个办法: 1.用debug 写一个只有一行内容(不能换行)的aaa.bat,内容(不带引号):"bbb " 2.编辑一个bbb.bat,内容为: set str1=%1 set str2=%2 执行: type a.txt>>aaa.bat call aaa 则得到变量: str1=abcdefg1234 str2=efdafda




精简 [你的+我的+他的]=>[大家的] 个人网志
2009-2-21 12:25
查看资料  发送邮件  发短消息  网志  OICQ (37659560)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: