中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何取得指定字符后边的字符串
« [1] [2] »
作者:
标题: 如何取得指定字符后边的字符串 上一主题 | 下一主题
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『楼 主』:  如何取得指定字符后边的字符串

SET  a=abcdefg\mystring
如何取得‘\’后边的字符串呢?并返回参数



我是菜鸟我怕谁
2007-9-29 18:04
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 2 楼』:  

???刚才不是回答了吗??

2007-9-29 18:06
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 3 楼』:  

不好意思,那个好象很复杂啊,不是很理解,我想要返回个参数就又就不对了



我是菜鸟我怕谁
2007-9-29 18:13
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 4 楼』:  

SET  a=abcdefg\mystring

返回参数??什么意思????

2007-9-29 18:14
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 5 楼』:  

就是echo %b%
%b%就是‘\’后边的字符,这样我就知道代码的断点了啊,知道他在哪个地方取得值了,要不一群字符看不会啊



我是菜鸟我怕谁
2007-9-29 18:17
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 6 楼』:  

SET  /P a=输入字符:
假如输入的字符是abdcddf\mastring
那么如何取的'\'后边的字符串并且显示出来
我是这个意思



我是菜鸟我怕谁
2007-9-29 18:25
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
wudixin96
银牌会员





积分 1928
发帖 931
注册 2007-1-6
状态 离线
『第 7 楼』:  

SET  a=abcdefg\mystring
set b=%a:*\=%
echo %b%
pause


这个意思???

2007-9-29 18:26
查看资料  发短消息 网志   编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 8 楼』:  

显示最后一级\后的内容.
@echo off
set var=abc\sss\kkkk\dkfa dskf\1212 3434
:lis
set var=%var:*\=%
set num=%var:\=%
if not "%var%"=="%num%" (goto lis) else echo %var%
pause




致精致简!
2007-9-29 18:30
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 9 楼』:  

谢谢你wudixin  你给的的确是我要的意思
也谢谢你26933062
其实我很头疼,字符串的处理用批处理做起来有时候真的是眼花缭乱啊
比如文件myfile.txt文件内容如下:
..........
..........
asdfasdfkasdf = N'sdfsdf'
..........
..........
( NAME = N'HXGL_Data', FILENAME = N'a\c\b\d\e\DATA\hxyyt',ff=gg)
lgo  tho
( NAME = N'HXGL_DB', FILENAME = N'a\c\b\d\e\DATA\hxtar',uu=yy)
.......
.......
省略号是省略的内容,你们看,我想要把里面的 a\c\b\d\e 换成我输入的参数值,可是这里面的干扰字符很多,我很难判断,其实我前面问你们的那些问题就是想要解决这个问题,可是现实并不象我想得那么简单啊,你们看,里面还有一些空格,还有大小写的问题让我很头疼........无从下手,

我前面问的替换两个字符串之间的字符,你们帮我解决了,我用到这里,可是N'字符不是唯一的两个,你们看前面也有N',取FILENAME = N'和\DATA之间的字符,可是FILENAME = N'字符串有空格呀,

有什么办法能解决吗?如果我知道那两段字符所在行比如说是第7和第9行,FILENAME字符只有这两个,能解决吗?



我是菜鸟我怕谁
2007-9-29 19:05
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 10 楼』:  

而且我要实现确实更改了文件的内容,也就是说找到指定的字符串更改后还要写回原文件,这个我也参考了你么给的方案,我以为换几个地方就可以了的,不过......



我是菜鸟我怕谁
2007-9-29 19:15
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 11 楼』:  

大致看懂了,要改的是第7行和第9行.
把你改好后的效果也发来看看,否则真不知道你要的是什么效果.



致精致简!
2007-9-29 19:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 12 楼』:  

不好意思我没有说清楚,假如我现在使用交互输入
set /P str=123456abcd
我要把myfile.txt文件里的这些 a\c\b\d\e 更改为我输入的字符啊,更改后文件的内容就变成了下边的了:
..........
..........
asdfasdfkasdf = N'sdfsdf'
..........
..........
( NAME = N'HXGL_Data', FILENAME = N'123456abcd\DATA\hxyyt',ff=gg)
lgo  tho
( NAME = N'HXGL_DB', FILENAME = N'123456abcd\DATA\hxtar',uu=yy)
.......
.......



我是菜鸟我怕谁
2007-9-29 19:51
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
26933062
银牌会员





积分 2268
发帖 879
注册 2006-12-19
状态 离线
『第 13 楼』:  

有一点要搞清楚,
是替换a\c\b\d\e为123456abcd
还是替换FILENAME = N'和\DATA之间的字符串?



致精致简!
2007-9-29 19:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 14 楼』:  

是替换FILENAME = N'和\DATA之间的内容啊



我是菜鸟我怕谁
2007-9-29 20:01
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
yyf0346
初级用户





积分 128
发帖 56
注册 2007-9-26
来自 江苏 无锡
状态 离线
『第 15 楼』:  

这位大虾不能帮我解决吗?
有个很重要的问题,如果不是myfile.txt文件,而是mafile.sql文件也照样能用bat批处理文件做字符串的更改吗?



我是菜鸟我怕谁
2007-9-29 20:17
查看资料  发送邮件  发短消息 网志  OICQ (328141841)  编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


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



论坛跳转: