中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [求助]怎样替换变量中的星号(*)?
作者:
标题: [求助]怎样替换变量中的星号(*)? 上一主题 | 下一主题
obsolete
初级用户





积分 192
发帖 72
注册 2005-7-31
状态 离线
『楼 主』:  [求助]怎样替换变量中的星号(*)?

set var=a*b
set var1=%var:*=%
不行啊

2008-7-27 17:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
523066680
银牌会员

SuperCleaner


积分 2362
发帖 1133
注册 2008-2-2
状态 离线
『第 2 楼』:  

值得深思!占个位子%……】

呵呵 又写了一个偏方:
@echo off
setlocal enabledelayedexpansion
set a=#*432
set b=
for /l %%a in (0,1,5) do (
if not "!a:~%%a,1!"=="*" set b=!b!!a:~%%a,1!
)
echo !b!
pause

[ Last edited by 523066680 on 2008-7-27 at 05:14 PM ]



综合型编程论坛

我的作品索引
  
2008-7-27 17:06
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (523066680)  编辑帖子  回复  引用回复
zqz0012005
中级用户




积分 297
发帖 135
注册 2006-10-21
状态 离线
『第 3 楼』:  

也来一个偏方
@echo off
set var=a*b*c
call :loop "%var%"
echo %var%
pause&goto :eof

:loop
for /f "tokens=1* delims=*" %%a in ("%~1") do if not "%%b"=="" (set var=%%a%%b& call :loop "%%var%%")




hh.exe ntcmds.chm::/ntcmds.htm
2008-7-27 17:38
查看资料  发短消息 网志  OICQ (411976538)  编辑帖子  回复  引用回复
obsolete
初级用户





积分 192
发帖 72
注册 2005-7-31
状态 离线
『第 4 楼』:  

谢谢两位

2008-7-27 17:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 5 楼』:  

来个简单点(不通用):
@echo off
set a=c*b
echo %a:c*=c%&pause>nul




批处理之家新域名:www.bathome.net
2008-7-27 18:17
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  


@echo off
set var=a*b
echo %var% | sed "s/\*//g"




2008-7-27 19:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: