Batch file 从cfg文件读取bat文件
我有cfg文件: ini.cfg 和bat文件:ini.batBatch file 从cfg文件读取bat文件,batch-file,configuration-files,Batch File,Configuration Files,我有cfg文件: ini.cfg 和bat文件:ini.bat @setlocal enableextensions enabledelayedexpansion @echo off set v=C:\LTE\CI\workspace\config\ini.cfg for /F "tokens=* delims=" %%a in ('find "arg_1=" %v%') do ( echo fiibar=%%a ) 在bat文件中,我能够检索ini.cfg的内容。但我需要的是每个
@setlocal enableextensions enabledelayedexpansion
@echo off
set v=C:\LTE\CI\workspace\config\ini.cfg
for /F "tokens=* delims=" %%a in ('find "arg_1=" %v%') do (
echo fiibar=%%a
)
在bat文件中,我能够检索ini.cfg的内容。但我需要的是每个键的值(我需要ENB205 abd 127.0.0.1)存储在变量中
有人能帮忙吗
谢谢
@setlocal enableextensions enabledelayedexpansion
@echo off
set v=C:\LTE\CI\workspace\config\ini.cfg
for /F "usebackq eol=[ tokens=* delims=" %%a in ("%v%") do (
set "%%a"
)
set E
这将设置以
结尾的值代码>。是否需要剥离它们?此脚本将存储所需的变量:
@ECHO OFF
SETLOCAL enabledelayedexpansion
FOR /F "tokens=*" %%a IN (ini.cfg) DO (
SET line=%%a
IF "!line:~0,4!"=="ENB=" SET enb=!line:~4!
IF "!line:~0,7!"=="HostIP=" SET host=!line:~7!
)
SET enb=%enb:;=%
SET host=%host:;=%
ECHO ENB: %enb%
ECHO Host: %host%
谢谢你的回复。您的代码正在工作并返回ENB=ENB205。我需要的是EB205存储在变量中。如果这还不清楚,我很抱歉。我有一个问题:为什么它在没有命令回音的情况下显示命令提示符?@user3922604-是的。变量是EBN,值是ENB205-这是set E
命令的输出。您可以使用%ENB%
或echo%ENB%
@ECHO OFF
SETLOCAL enabledelayedexpansion
FOR /F "tokens=*" %%a IN (ini.cfg) DO (
SET line=%%a
IF "!line:~0,4!"=="ENB=" SET enb=!line:~4!
IF "!line:~0,7!"=="HostIP=" SET host=!line:~7!
)
SET enb=%enb:;=%
SET host=%host:;=%
ECHO ENB: %enb%
ECHO Host: %host%