我想要做的是,我有一个文本文件(List.txt),并通过批处理脚本我想要(逐行)读取文本文件并将该行保存在某个变量中供以后使用。按照我正在尝试的批处理脚本,但不知道为什么它不起作用?
@echo off
set _filePath= List.txt
@echo off
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (%_filePath%) do (
set _var = %%a
echo !_var!
)
List.txt文件包含:
abc|def
1234|defg
abcde|98745
,输出为: -
ECHO is off
ECHO is off
ECHO is off
我想要的是:
abc|def
1234|defg
abcde|98745
有人能帮帮我吗?
答案 0 :(得分:1)
set _var = %%a
简单问题 - set
对=
的 两侧的 Spaces 很敏感。
使用set "var=value"
从排除的值中排除尾随空格。
答案 1 :(得分:0)
虽然评论是正确的,但作者尚未解决问题,因此可能需要更多细节。 批处理脚本中还存在另一个错误,用于处理文件中的空行(这会导致回显给出错误的输出)。批处理文件的固定版本为:
@echo off
set _filePath=List.txt
setlocal enabledelayedexpansion
for /f "tokens=*" %%a in (%_filePath%) do (
set _var=%%a
echo;!_var!
)