【发布时间】:2019-06-06 15:37:37
【问题描述】:
我正在编写一个批处理脚本来读取属性的值,该属性在执行期间作为参数传递给批处理脚本。
我有一个包含以下条目的属性文件 (Input.properties)。
APP1_NAME=common1
APP1_PATH=path1\val\test
APP1_VERSION=1.0
APP2_NAME=common2
APP2_PATH=path2\val\test
APP2_VERSION=2.0
APP3_NAME=common3
APP3_PATH=path3\val\test
APP3_VERSION=3.0
我有一个批处理 (Read.bat) 脚本,其中 ${APP} 传递了一个参数,其值为 3 APP1/APP2/APP3。我正在尝试根据传递的值读取特定属性的值并将其存储在变量中并进一步使用它。假设我们将 APP1 传递给 Read.bat,我们应该能够读取 APP1 的 NAME、PATH 和 VERSION。
如果我想通过传递静态属性来读取一个值,我尝试了下面的方法,但是如果属性名称的一部分作为变量值传递,我正在寻找一些方法。
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1,* delims== " %%i in (Input.properties) do (
echo %APP1_NAME%
)
如果我们将 APP2 作为参数传递给 Read.bat 我们应该能够读取 APP2_NAME 的值并将其存储在变量中,并读取 APP2_PATH 的值并将其存储在另一个变量中以供进一步使用。
【问题讨论】:
标签: batch-file