代码如下:
@echo off&setlocal enabledelayedexpansion
set fi=info.txt
set str1=Master_Log_File
set str2=Read_Master_Log_Pos
echo 准备替换...
for /f "tokens=1* delims=: " %%a in (info.txt) do (
if "%%a"=="%str2%" (
echo %%a : %%b
set str4=%%b
echo MASTER_LOG_POS=%str4%;>>123.txt
)
)
echo 已完成替换!文件输出到123.txt中,即将退出。
pause
info.txt的内容如下:
*************************** 1. row ***************************
Slave_IO_State: Waiting for master to send event
Master_Host: 192.168.0.120
Master_User: root
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: log-bin.000001
Read_Master_Log_Pos: 866
批处理中的变量赋值问题 如下所示,总是不成功,我却找不到问题在哪。。。。
答案:2 悬赏:40 手机版
解决时间 2021-04-09 22:32
- 提问者网友:做自己de王妃
- 2021-04-09 15:30
最佳答案
- 五星知识达人网友:刀戟声无边
- 2021-04-09 16:10
setlocal enabledelayedexpansion <- 你已经启用了本地扩展延迟,为什么还用%来引用变量?,应该用!(英文惊叹号),如
if "%%a"=="!str2!" (……
if "%%a"=="!str2!" (……
全部回答
- 1楼网友:孤独的牧羊人
- 2021-04-09 16:57
请把第一界面中的三个跳转goto 改成set sp=
最后纠正你一下,批处理没有end命令,请改成exit
还有提个建议,每个选择界面请在最后做过错误输入选择后的跳转重输或提示或退出。否则你的代码不管变量的错与对都会执行下一句代码命令的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯