中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助,如何删除变量里的指定的字符
作者:
标题: 求助,如何删除变量里的指定的字符 上一主题 | 下一主题
tangz
新手上路





积分 8
发帖 2
注册 2006-5-29
状态 离线
『楼 主』:  求助,如何删除变量里的指定的字符

我用for /f从外部文件读取数据,%%j的值为00-e0-4c-88-88-ee。想去掉其中的-,修改%%j的值为00e04c8888ee。请为该如何写脚本?谢谢。

2006-11-8 03:13
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 2 楼』:  

删除变量中指定的字符就相当于用一个“空”字符即""来替换掉指定内容~:)

如何来替换文本中的字符
http://www.cn-dos.net/forum/view ... highlight=%E2%80%9C

详见贴子第五楼(你照抄并把字串改成你需要的就行了)较为通用的方法:)


如果想各种字串与变量应用的方法都熟悉一下,见下面贴子中的索引:
http://www.cn-dos.net/forum/viewthread.php?tid=24549&fpage=1

[ Last edited by redtek on 2006-11-8 at 04:08 AM ]



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-8 04:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
不得不爱
超级版主

我爱DOS


积分 5310
发帖 2044
注册 2005-9-26
来自 四川南充
状态 离线
『第 3 楼』:  

set/?



我的网络U盘 我的网络第2个U盘
论坛软件下载链接
灵雨飘零论坛  
论坛新手必读,所有人的基本行为准则
刷QQ空间人气、留言的小软件
2006-11-8 04:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 4 楼』:  


set a=%%j
echo %a:-=%


2006-11-8 05:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerostudy
中级用户





积分 266
发帖 98
注册 2006-4-21
状态 离线
『第 5 楼』:  

楼上的讲讲为什么%a:-=%可以除去全部-啊?可以说说用法吗?



纵是千年万年 亦难以忘记
2006-11-8 05:22
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 6 楼』:  


  %a:x=y%的作用是:将变量 "a" 中包含的所有 "x" 都换成 "y" ,而上例中等号(=)后面没有字符,就是替换成空值(不是空格),这就相当于将 "-" 删除了。


   此帖被 +2 点积分     点击查看详情   
评分人:【 redtek 分数: +2  时间:2006-11-8 06:15


2006-11-8 05:51
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zerocq
中级用户




积分 458
发帖 196
注册 2006-10-5
状态 离线
『第 7 楼』:  

for /f里的delims=添加一个-号
然后%%j就变成%%j-%%k-%%l-%%m
00e04c8888ee就是%%j%%k%%l%%m

   此帖被 +2 点积分     点击查看详情   
评分人:【 electronixtar 分数: +2  时间:2006-11-23 07:03


2006-11-8 07:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 8 楼』:  

真是人多力量大:)zerocq兄又是一种方法,哈哈……
可惜俺今天的分儿全都都加完了:(



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-8 07:23
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
honhaizh
初级用户





积分 35
发帖 18
注册 2006-4-26
状态 离线
『第 9 楼』:  

高,实在是高!

2006-11-16 20:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 10 楼』:  

文件中的替换我喜欢用sed

2006-11-17 01:40
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
hxuan999
中级用户

DOS之日


积分 337
发帖 161
注册 2006-11-4
状态 离线
『第 11 楼』:  

我想CMD也就只有这两个方法了吧.高手们谁还可以想出来第三种呀,不用第三方工具的.



for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
2006-11-23 02:54
查看资料  发送邮件  发短消息 网志  OICQ (33899867)  编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 12 楼』:  



  Quote:
可惜俺今天的分儿全都都加完了:(

我来帮你加




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-11-23 07:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
redtek
金牌会员





积分 2902
发帖 1147
注册 2006-9-21
状态 离线
『第 13 楼』:  

哈哈……怎么加分选择只能是 1、3、5、7、9……原来的+2分的选项怎么没了?



    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
2006-11-23 07:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: