中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-14 20:57
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助,如何删除变量里的指定的字符
楼 主 求助,如何删除变量里的指定的字符 发表于 2006-11-08 03:13 ·  中国 上海 联通
新手上路
积分 8
发帖 2
注册 2006-05-29 20:52
UID 56217
状态 离线
我用for /f从外部文件读取数据,%%j的值为00-e0-4c-88-88-ee。想去掉其中的-,修改%%j的值为00e04c8888ee。请为该如何写脚本?谢谢。
2 发表于 2006-11-08 04:06 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
删除变量中指定的字符就相当于用一个“空”字符即""来替换掉指定内容~:)

如何来替换文本中的字符
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 ]
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
3 发表于 2006-11-08 04:51 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
UID 42843
性别 男
来自 四川南充
状态 离线
4 发表于 2006-11-08 05:00 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线


set a=%%j
echo %a:-=%
5 发表于 2006-11-08 05:22 ·  中国 广东 河源 电信
中级用户
★★
积分 266
发帖 98
注册 2006-04-21 20:29
UID 54223
性别 男
状态 离线
楼上的讲讲为什么%a:-=%可以除去全部-啊?可以说说用法吗?
纵是千年万年 亦难以忘记
6 发表于 2006-11-08 05:51 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
UID 59080
状态 离线

  %a:x=y%的作用是:将变量 "a" 中包含的所有 "x" 都换成 "y" ,而上例中等号(=)后面没有字符,就是替换成空值(不是空格),这就相当于将 "-" 删除了。
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
redtek +2 2006-11-08 06:15
7 发表于 2006-11-08 07:10 ·  中国 浙江 温州 电信
中级用户
★★
积分 458
发帖 196
注册 2006-10-05 12:04
UID 64614
状态 离线
for /f里的delims=添加一个-号
然后%%j就变成%%j-%%k-%%l-%%m
00e04c8888ee就是%%j%%k%%l%%m
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
electronixtar +2 2006-11-23 07:03
8 发表于 2006-11-08 07:23 ·  中国 北京 朝阳区 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
真是人多力量大:)zerocq兄又是一种方法,哈哈……
可惜俺今天的分儿全都都加完了:(
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
9 发表于 2006-11-16 20:32 ·  美国 科罗拉多州 阿拉珀霍 利特尔顿 TW_Telecom控股股份有限公司
初级用户
积分 35
发帖 18
注册 2006-04-26 13:31
UID 54481
状态 离线
高,实在是高!
10 发表于 2006-11-17 01:40 ·  中国 甘肃 甘南藏族自治州 合作市 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
文件中的替换我喜欢用sed
11 发表于 2006-11-23 02:54
中级用户
★★
DOS之日
积分 337
发帖 161
注册 2006-11-04 05:27
UID 69523
性别 男
状态 离线
我想CMD也就只有这两个方法了吧.高手们谁还可以想出来第三种呀,不用第三方工具的.
for /f %%h in (`echo hxuan`) do for /f %%x in (`echo hxuan`) do if %%h==%%x nul
12 发表于 2006-11-23 07:03 ·  中国 四川 成都 教育网
铂金会员
★★★★
积分 7,493
发帖 2,672
注册 2005-09-02 00:00
UID 42173
性别 男
状态 离线

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

我来帮你加

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'>"
13 发表于 2006-11-23 07:08 ·  中国 北京 联通
金牌会员
★★★★
积分 2,902
发帖 1,147
注册 2006-09-21 12:00
UID 63324
性别 男
状态 离线
哈哈……怎么加分选择只能是 1、3、5、7、9……原来的+2分的选项怎么没了?
    Redtek,一个永远在网上流浪的人……

_.,-*~'`^`'~*-,.__.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._,_.,-*~'`^`'~*-,._
论坛跳转: