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)
关于我将如何做的任何提示?
谢谢.
如果您甚至不知道变量的名称,以下代码将使输出完全动态化.
@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)