问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

[在线求解] 用bat脚本实现set命令替换以变量形式的字符串

发布网友 发布时间:2022-04-15 07:49

我来回答

2个回答

热心网友 时间:2022-04-15 09:19

我感觉用字符替换实现比较难,还容易出错,还是循环容易些。
你看这样符合你的要求吗?

@echo off
setlocal EnableDelayedExpansion
set startport=3306
set endport=3315
for /l %%i in (%startport%,1,%endport%) do (
set basedir=E:\MySQL\MySQL Server 5.1-%%i\bin
echo !basedir!
rem call domysql
)

另外你用循环传变量替换不成功也可能与变量延迟有关,你还可以按你的方法再试试。
打开变量延迟 setlocal EnableDelayedExpansion 循环内变量用!代替 %追问谢谢!bat中的for循环能解释下嘛,我想学习下!
下面是重写的方法已ok,麻烦找茬!
@echo off
setlocal EnableDelayedExpansion
set startport=3306
set endport=3315
set position_port=%startport%
set basedir=E:\MySQL\MySQL Server 5.1-position\bin\
:domysql
set basedirnew=!basedir:position=%position_port%!
echo !basedirnew!
set /a position_port += 1
if %endport% geq %position_port% goto domysql

追答测试了一下,你的代码没问题,说明你的学习能力很强,祝贺你。
for用法很多,也比较复杂,自认为是dos批处理的难点也是亮点。
for /l 相对来说比较容易
for /l %%i in (%startport%,1,%endport%)
相当于vbs 的
for i=startport to endport step 1

另:提醒一下!basedirnew!路径中带空格,引用时一定要带着文件名、参数用双引号扩起来。

热心网友 时间:2022-04-15 10:37

在这里说吧,把你给的这句写成这样:
call set "basedir=%%basedir:%position%=%position_port%%%"追问安装您的说话我改为下面执行也不成功替换【position是个字符,不是变量,所以我去掉啦%%】
set startport=3306
set endport=3315
set position_port=%startport%
set basedir=E:\MySQL\MySQL Server 5.1-position\bin\
:domysql
set basedir=%%basedir:position=%position_port%%%
echo %basedir%
cd \
set /a position_port += 1
if %endport% geq %position_port% goto domysql
pause

追答错啦,你没看见我前面加了个call
这句:set basedir=%%basedir:position=%position_port%%%
应该如此:
call set basedir=%%basedir:position=%position_port%%%

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
心脏搭桥心脏搭桥手术 请问86岁的老人是否合适做搭桥手术? 88岁老人心脏搭桥成功 心脏搭桥心脏搭桥手术的适应范围 老人心绞痛治疗方法 cmmi资质是什么 苹果电脑强开机苹果电脑怎么开机 美团外卖如何修改虚拟号码? 美团外卖怎么修改手机号码看完你就学会了 美团外卖怎么修改手机号码 看完你就学会了 生菜、紫甘蓝、花生仁、木耳、苦菊,一起凉拌的菜叫什么名?怎么做? 木耳菜与苦菊能一起吃吗 拌杏仁怎么做好吃,苦菊拌杏仁的家常做法 苦菊能和鸡蛋一起吃吗 和木耳可以一起吃吗 苦菊同木耳能一起吃吗 中国燃气客服部主要干什么工 燃气公司电话客服95598 五肽-3/维洛斯肽的功效是什么 胸腺五肽的作用是? 胸腺五肽注射液的作用是什么? 胸腺5肽的作用是什么? 华为P9 Plus刷机失败怎么办 什么是计算机语言,汇编语言和高级语言 西米和什么一起煮好吃? 什么叫计算机高级语言 什么是计算机高级语言编程? 计算机中,什么叫高级语言 为什么做梦会经常梦见自己从高处落下来踩空 为什么睡觉睡着睡着老梦见自己踩空 明镜应缺,皎若云间月落华年 是什么歌拜托各位大神 生肖属羊,起名宜有:金,白,玉,月,田,豆,米,马,禾,木,亻,艹,鱼等部首取 属羊喜用神为火,又不宜用火字的应该什么取名 柏姓属羊八字起名,正月28早9点53生,男,求赐好名 马应骏看八字怎么样2015,6,4。下午3,30马姓男宝起名 ...21:18,我想知道他的八字和五行缺什么?起名要讲究些什么?请真懂的... 属羊男孩起名,起陈昱什么 耐力板、阳光板做雨棚哪种好? 科宝屋面阳光板都有哪些规格? 阳光板有哪些种类啊? 阳光板常用厚度 火狐浏览器如何把一组常用网址设成主页 带绿色的阳光板好还是白色的阳光板好 火狐浏览器怎么把这个页面设置成主页,还有每次打开火狐都是两个标签,怎么改成一个?强迫症急死人 阳光房顶用钢化玻璃还是耐力板好 阳光板分类,阳光板品种,塑料阳光板品牌 阳光板规格尺寸有哪些?特点和价格介绍 阳光板每平米多少钱 求P6项目管理软件或用户手册功能介绍等文献资料,谢谢!在线等。。。 smart install maker 命令选项填写多个怎么执行。我要打包jdk和MySQL,但是命令选项中的脚本只有一个有效 手洗面筋的做法