|
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 |
|
|
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 来自 湖南
状态 离线
|
|
2009-2-19 17:36 |
|
|
jmlvww
新手上路

积分 7
发帖 4
注册 2006-12-31
状态 离线
|
『第
7 楼』:
strings 试过了,思路是用 find 查找连续几个空格,然后从第一个字符开始取。
问题是 strings 不支持查找字符为空格的。
|
|
2009-2-19 18:08 |
|
|
lianjiang2004
金牌会员
     
积分 3946
发帖 1884
注册 2006-1-20
状态 离线
|
『第
8 楼』:
用nset处理,搜索一下就行了。
|

|
|
2009-2-19 22:23 |
|
|
DOSforever
金牌会员
     
积分 4639
发帖 2239
注册 2005-1-30
状态 离线
|
『第
9 楼』:
4DOS 的一个 @word 变量函数就解决了
@word[0,abcdefg1234 efdafda]
|

|
|
2009-2-20 00:10 |
|
|
netbenton
银牌会员
     批处理编程迷
积分 1916
发帖 752
注册 2008-12-28 来自 广西
状态 离线
|
|
2009-2-21 12:25 |
|