从文本文件中回显.bat文件中的变量

Edm*_*har 0 windows variables command-line batch-file

美好的一天,我仍然是DOS命令的新手,我想,如果仍然可能.我有一个.bat我想从文本文件中调用一个值.我的意思是我正在做一个.bat文件(通用),普通用户只需更改文本文件中的值即可使用该文件.

例:

我在我的bat文件中有这个命令:(这只是一个例子)

@ECHO OFF 
echo First Name:
echo Kobe
echo LastName:
echo Bryant
pause
Run Code Online (Sandbox Code Playgroud)

而不是编辑.bat文件或在文件上设置变量.bat.我想创建一个 set.txt将保存变量.

例:

set.txt

FirstName=Kobe
LastName=Bryant
Run Code Online (Sandbox Code Playgroud)

因此该.bat文件将是通用/灵活的.无需改变.

的run.bat

echo First Name:
echo $FirstName
echo Last Name:
echo $LastName
Run Code Online (Sandbox Code Playgroud)

关于我将如何做的任何提示?

谢谢.

dbe*_*ham 5

如果您甚至不知道变量的名称,以下代码将使输出完全动态化.

@echo off
setlocal disableDelayedExpansion

for /f "delims== tokens=1*" %%A in (set.txt) do (
  set "%%A=%%B"
  echo %%A:
  echo %%B
)
Run Code Online (Sandbox Code Playgroud)

如果您的文件名包含空格或有毒字符,如&^,则您需要引用文件名,在这种情况下您需要添加该usebackq选项.

for /f "usebackq delims== tokens=1*" %%A in ("name with space.txt") do ...
Run Code Online (Sandbox Code Playgroud)