我正在处理一些批处理文件。 我需要从一些文本文件中读取名称。让我解释一下
我有一个文件File.txt
,其条目如FirstName=John
。
现在我的批处理文件应该从文件中读取文本John
,我应该能够将John
存储在某个变量中。
但是使用以下代码,如果我使用delims==
,我可以将FirstName
文本存储在某个变量中,但不会存储John
。
for /F "delims==" %%I in (File.txt) do set Title=%%I
echo %Title%
有什么方法可以从我的John
获取File.txt
并将其存储在我的for
循环中吗?
答案 0 :(得分:2)
@echo off
setlocal
for /F "tokens=1,2 delims==" %%a in (File.txt) do set Title=%%b
echo %Title%
是否将名字值提取到Title
...但仅限于包含Firstname
的最后一行!
@echo off
setlocal
for /F "tokens=1,2 delims==" %%a in (File.txt) do (
set t=%t% %%b
)
echo %t:Firstname=%
连接所有找到的名字。
答案 1 :(得分:0)
问题在于John
是找到的第二个令牌,Firstname
是找到的第一个令牌。你有很多选择。
tokens=2
跳过第一个令牌,只将第二个令牌转换为变量%%I
。没有生成其他变量。%%J
(自动生成)。 %%K
将包含第三个令牌等等。tokens=2*
跳过第一个令牌,并将所有后续令牌转换为变量I
,J
,K
等。