Text 将批处理中的变量设置为文本文件值

Text 将批处理中的变量设置为文本文件值,text,batch-file,Text,Batch File,我有一个文本文件,每行由一个新值组成。行的数量将有所不同(随时间扩展) 我想在批处理文件中为每个值设置一个变量。有人知道怎么做吗?如果您只想从文件的每一行读取到单独的变量中,请使用此选项。如果您希望它获取所有的行而不是特定的行,那么也可以将它配置为一个循环,这样您就不必为100行输入100个命令 setLocal EnableDelayedExpansion for /f "tokens=* delims= " %%a in (TEXTFILEPATH.txt) do ( set /a N+=1

我有一个文本文件,每行由一个新值组成。行的数量将有所不同(随时间扩展)


我想在批处理文件中为每个值设置一个变量。有人知道怎么做吗?

如果您只想从文件的每一行读取到单独的变量中,请使用此选项。如果您希望它获取所有的行而不是特定的行,那么也可以将它配置为一个循环,这样您就不必为100行输入100个命令

setLocal EnableDelayedExpansion
for /f "tokens=* delims= " %%a in (TEXTFILEPATH.txt) do (
set /a N+=1
set v[!N!]=%%a
)
set line1=%v[1]%
set line2=%v[2]%
set line3=%v[3]%
set line4=%v[4]%

echo %line1%
echo %line2%
echo %line3%
echo %line4%

endlocal
确保变量使用后
endlocal

如果您想写入文本文件中的特定行,下面是一篇文章


我建议您对这些变量使用数组表示法:
set v[!N!]=%%a
,这是一种大家都认可的更清晰、标准的形式:我想使用数组表示法会更容易理解。我以前从未使用过它,直到现在我一直使用上面的代码。我更新了我的代码。