我试图遍历文本文件中的每一行并将该行的内容用作变量。
到目前为止,我有:
for /F "tokens=*" %%A in (mdbs.txt) do (
set var1=%%A
echo "%var1%" > echo1.txt
echo %var1% > echo2.txt
echo set v > set.txt
echo %%A > echo3.txt
)
Run Code Online (Sandbox Code Playgroud)
mdbs.txt 的内容目前为:Grounds_Maintenance.mdb
所以我希望每个回声文件都包含“Grounds_Maintenance.mdb”
但是它们包含:
echo1.txt: ""
Echo2.txt:ECHO 开启。
set.txt: 设置 v
然而,它正在遍历文件,只是没有设置变量。
echo3.txt:Grounds_Maintenance.mdb
我一定错过了一些简单的东西。我想使用一个变量,因为我想稍后使用以下方法删除扩展名:set var1= %var1:~0,-4%
我在 Windows 7 上。谢谢。
变量已设置,但您无法通过括号内的百分比扩展来访问它。
存在第二种访问变量的方法,称为延迟扩展
setlocal EnableDelayedExpansion
for /F "tokens=*" %%A in (mdbs.txt) do (
set "var1=%%A"
echo "!var1!"
)
Run Code Online (Sandbox Code Playgroud)