如何读取存储在文件中的=符号之后的任何文本

我正在处理一些batch file。 我需要从某些文本文件中读取名称。 让我解释一下

我有一个文件File.txt ,其中有条目像FirstName=John 。 现在我的batch file应该从文件中读取文本John ,我也应该能够将John存储在某个variables中。

但有了下面的代码,如果我使用delims== ,我可以将FirstName文本存储在某个variables中,而不是John

 for /F "delims==" %%I in (File.txt) do set Title=%%I echo %Title% 

有什么办法可以从我的File.txt获取John ,并将其存储在我的for循环中?

 @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=% 

连接所有找到的名字。

你的问题是John是找到的第二个标记, Firstname是找到的第一个标记。 你有很多选择。

  • 您可以使用tokens=2来跳过第一个标记,并只将第二个标记获取到变量%%I 。 没有其他变量生成。
  • 您可以使用包含第二个标记的变量%%J (这是自动生成的)。 %%K将包含第三个令牌等等。
  • 你可以使用tokens=2*来跳过第一个标记,并将所有后面的标记写入变量IJK等。