如何在单个批处理文件中读取JSON配置并提取参数运行命令?
实现方法
你可以通过批处理的for /f命令配合findstr提取配置文件中的值,再结合延迟变量扩展完成需求,完整的bat文件代码如下:
@echo off setlocal enabledelayedexpansion :: 从config.json提取host的值 for /f "tokens=2 delims=: \"" %%a in ('findstr /i "host" config.json') do ( set "host=%%a" ) :: 从config.json提取port的值 for /f "tokens=2 delims=: \"" %%a in ('findstr /i "port" config.json') do ( set "port=%%a" ) :: 执行目标启动命令 cmd /c "cd /d %ZOWE_HOME%\zlux-app-server\bin && nodeServer.bat --allowInvalidTLSProxy=true -h !host! -P !port! -p 9999" endlocal
代码说明
setlocal enabledelayedexpansion:启用延迟变量扩展,确保for循环中设置的变量能被正确读取(调用时用!变量名!格式)。findstr /i "host" config.json:在配置文件中查找包含host的行,/i参数表示忽略大小写。for /f参数解析:tokens=2:取分割后的第二部分内容;delims=: \"":指定冒号、空格、双引号作为分隔符,精准提取出引号内的host和port值。
- 最终命令用
!host!和!port!替代原占位符,确保提取到的变量值被正确传入。
内容的提问来源于stack exchange,提问作者neerajnasery
相关产品推荐
相关产品推荐

