Batch file 用于从文本文件设置变量的批处理脚本无效

Batch file 用于从文本文件设置变量的批处理脚本无效,batch-file,Batch File,我在批处理脚本中设置文本文件中的变量时遇到问题。 文本文件中只有一行,它是testabc 剧本是 set /p p_password=<c:\temp\passport.txt echo %p_password% 我仍然得到相同的输出■t 非常感谢您的帮助。是的,我可以确认使用不同的文件编码格式将解决此问题 使用问题中提到的输入文本文件,并使用UltraEdit保存文本文件,以下列出了不同编码格式的结果: ANSI/ASCII=testabc UTF-8=∩╗┐testabc UTF-

我在批处理脚本中设置文本文件中的变量时遇到问题。 文本文件中只有一行,它是
testabc

剧本是

set /p p_password=<c:\temp\passport.txt
echo %p_password%
我仍然得到相同的输出<代码>■t


非常感谢您的帮助。

是的,我可以确认使用不同的文件编码格式将解决此问题

使用问题中提到的输入文本文件,并使用
UltraEdit
保存文本文件,以下列出了不同编码格式的结果:

  • ANSI/ASCII=
    testabc
  • UTF-8=
    testabc
  • UTF-16=
    ■t
  • UTF-8-无BOM=
    testabc
  • UTF-16-无BOM=
    t
  • UTF-16-Big-Endian=
  • UTF-16-大端号-无BOM=(空字符串)
  • Unicode-ASCII转义=
    testabc

正如评论员前面提到的,您的文本文件似乎是用保存的。

是否可能将文本文件保存为UTF-8,并使用?
for /f "delims=" %%a in (c:\temp\passport.txt) do set p_password=%%a
echo %p_password%