中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-11 13:04
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助]关于替换指定位置字符的问题
可打印版本  798 / 5
第1楼 wjcing 发表于 2009-03-06 15:36
初级用户 发帖 59 积分 71
[求助]关于替换指定位置字符的问题
如我有一字符串是随机的,a=asdmkuyk
我现在想把a的第三位d替换成8,替换后a=as8mkuyk,请问有什么办法可以指定位置替换,谢谢。
第2楼 netbenton 发表于 2009-03-07 00:23
银牌会员 发帖 752 积分 1,916 来自 广西
set a=asdmkuyk

::先把指定位置的字符取出(第3位):
set b=%a:~2,1%

::再用得到的字符替换:
call set va=%%a:%b%=8%%

echo. %a%
echo. %b%
echo. %va%
pause
第3楼 XiaoGuDong 发表于 2009-03-07 01:49
初级用户 发帖 88 积分 172
set a=备份\复件(2) winre\Program Files
如何由变量a得到变量b[变量b=Program Files]
当然变量a中“Program Files”前的路径不确定!
第4楼 wjcing 发表于 2009-03-07 02:46
初级用户 发帖 59 积分 71
Originally posted by netbenton at 2009-3-7 12:23 AM:
set a=asdmkuyk

::先把指定位置的字符取出(第3位):
set b=%a:~2,1%

::再用得到的字符替换:
call set va=%%a:%b%=8%%

echo. %a%
echo. %b%
echo. %va%
pause

谢谢,不过我觉得你的方法不行,因为如果set a=asddkuykd 是这样呢。。我只想把第三位的d替换,这个方法是不行的。
第5楼 wjcing 发表于 2009-03-07 02:50
初级用户 发帖 59 积分 71
Originally posted by XiaoGuDong at 2009-3-7 01:49 AM:
set a=备份\复件(2) winre\Program Files
如何由变量a得到变量b
当然变量a中“Program Files”前的路径不确定!

郁闷,,不明白。呵呵
第6楼 wjcing 发表于 2009-03-07 04:19
初级用户 发帖 59 积分 71
搞定了。 。找个折中的方法搞定了。。就是折成两个字符再合并,,不过还是希望有高手给个好点的方法。谢谢了。
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023