中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-29 07:18
47,816 主题排行 / 349,916 发帖 / 今日 2 篇 / 48,265 会员排行
DOS批处理 & 脚本技术(批处理室) » 求助,如何删除变量里的指定的字符
可打印版本  3,179 / 12
第1楼 tangz 发表于 2006-11-08 03:13
新手上路 发帖 2 积分 8
求助,如何删除变量里的指定的字符
我用for /f从外部文件读取数据,%%j的值为00-e0-4c-88-88-ee。想去掉其中的-,修改%%j的值为00e04c8888ee。请为该如何写脚本?谢谢。
第2楼 redtek 发表于 2006-11-08 04:06
金牌会员 发帖 1,147 积分 2,902
删除变量中指定的字符就相当于用一个“空”字符即""来替换掉指定内容~:)

如何来替换文本中的字符
http://www.cn-dos.net/forum/viewthread.php?tid=22245&fpage=1&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 ]
第3楼 不得不爱 发表于 2006-11-08 04:51
超级版主 发帖 2,044 积分 5,310 来自 四川南充
set/?
第4楼 lxmxn 发表于 2006-11-08 05:00
版主 发帖 4,938 积分 11,386

第5楼 zerostudy 发表于 2006-11-08 05:22
中级用户 发帖 98 积分 266
楼上的讲讲为什么%a:-=%可以除去全部-啊?可以说说用法吗?
第6楼 lxmxn 发表于 2006-11-08 05:51
版主 发帖 4,938 积分 11,386

  %a:x=y%的作用是:将变量 "a" 中包含的所有 "x" 都换成 "y" ,而上例中等号(=)后面没有字符,就是替换成空值(不是空格),这就相当于将 "-" 删除了。
第7楼 zerocq 发表于 2006-11-08 07:10
中级用户 发帖 196 积分 458
for /f里的delims=添加一个-号
然后%%j就变成%%j-%%k-%%l-%%m
00e04c8888ee就是%%j%%k%%l%%m
第8楼 redtek 发表于 2006-11-08 07:23
金牌会员 发帖 1,147 积分 2,902
真是人多力量大:)zerocq兄又是一种方法,哈哈……
可惜俺今天的分儿全都都加完了:(
第9楼 honhaizh 发表于 2006-11-16 20:32
初级用户 发帖 18 积分 35
高,实在是高!
第10楼 vkill 发表于 2006-11-17 01:40
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
文件中的替换我喜欢用sed
第11楼 hxuan999 发表于 2006-11-23 02:54
中级用户 发帖 161 积分 337
我想CMD也就只有这两个方法了吧.高手们谁还可以想出来第三种呀,不用第三方工具的.
第12楼 electronixtar 发表于 2006-11-23 07:03
铂金会员 发帖 2,672 积分 7,493

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

我来帮你加
第13楼 redtek 发表于 2006-11-23 07:08
金牌会员 发帖 1,147 积分 2,902
哈哈……怎么加分选择只能是 1、3、5、7、9……原来的+2分的选项怎么没了?
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023