![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-05 23:01 |
共 48,039 主题排行 / 350,124 发帖 / 今日 2 篇 / 48,251 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » 如何取得指定字符后边的字符串 |
| 可打印版本 1,829 / 26 |
| 第1楼 yyf0346 | 发表于 2007-09-29 18:04 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
如何取得指定字符后边的字符串 SET a=abcdefg\mystring
如何取得‘\’后边的字符串呢?并返回参数 |
|
| 第2楼 wudixin96 | 发表于 2007-09-29 18:06 |
| 银牌会员 发帖 931 积分 1,928 | |
|
???刚才不是回答了吗??
|
|
| 第3楼 yyf0346 | 发表于 2007-09-29 18:13 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
不好意思,那个好象很复杂啊,不是很理解,我想要返回个参数就又就不对了
|
|
| 第4楼 wudixin96 | 发表于 2007-09-29 18:14 |
| 银牌会员 发帖 931 积分 1,928 | |
|
SET a=abcdefg\mystring
返回参数??什么意思???? |
|
| 第5楼 yyf0346 | 发表于 2007-09-29 18:17 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
就是echo %b%
%b%就是‘\’后边的字符,这样我就知道代码的断点了啊,知道他在哪个地方取得值了,要不一群字符看不会啊 |
|
| 第6楼 yyf0346 | 发表于 2007-09-29 18:25 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
SET /P a=输入字符:
假如输入的字符是abdcddf\mastring 那么如何取的'\'后边的字符串并且显示出来 我是这个意思 |
|
| 第7楼 wudixin96 | 发表于 2007-09-29 18:26 |
| 银牌会员 发帖 931 积分 1,928 | |
|
SET a=abcdefg\mystring
set b=%a:*\=% echo %b% pause 这个意思??? |
|
| 第8楼 26933062 | 发表于 2007-09-29 18:30 |
| 银牌会员 发帖 879 积分 2,268 | |
|
显示最后一级\后的内容.
|
|
| 第9楼 yyf0346 | 发表于 2007-09-29 19:05 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
谢谢你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字符只有这两个,能解决吗? |
|
| 第10楼 yyf0346 | 发表于 2007-09-29 19:15 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
而且我要实现确实更改了文件的内容,也就是说找到指定的字符串更改后还要写回原文件,这个我也参考了你么给的方案,我以为换几个地方就可以了的,不过......
|
|
| 第11楼 26933062 | 发表于 2007-09-29 19:44 |
| 银牌会员 发帖 879 积分 2,268 | |
|
大致看懂了,要改的是第7行和第9行.
把你改好后的效果也发来看看,否则真不知道你要的是什么效果. |
|
| 第12楼 yyf0346 | 发表于 2007-09-29 19:51 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
不好意思我没有说清楚,假如我现在使用交互输入
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) ....... ....... |
|
| 第13楼 26933062 | 发表于 2007-09-29 19:58 |
| 银牌会员 发帖 879 积分 2,268 | |
|
有一点要搞清楚,
是替换a\c\b\d\e为123456abcd 还是替换FILENAME = N'和\DATA之间的字符串? |
|
| 第14楼 yyf0346 | 发表于 2007-09-29 20:01 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
是替换FILENAME = N'和\DATA之间的内容啊
|
|
| 第15楼 yyf0346 | 发表于 2007-09-29 20:17 |
| 初级用户 发帖 56 积分 128 来自 江苏 无锡 | |
|
这位大虾不能帮我解决吗?
有个很重要的问题,如果不是myfile.txt文件,而是mafile.sql文件也照样能用bat批处理文件做字符串的更改吗? |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |