循环浏览带有变量的文本文件中的每一行,批处理

Ves*_*nto 1 batch-file

我试图遍历文本文件中的每一行并将该行的内容用作变量。

到目前为止,我有:

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 上。谢谢。

jeb*_*jeb 5

变量已设置,但您无法通过括号内的百分比扩展来访问它。

存在第二种访问变量的方法,称为延迟扩展

setlocal EnableDelayedExpansion

for /F "tokens=*" %%A in (mdbs.txt) do (
  set "var1=%%A"
  echo "!var1!"
)
Run Code Online (Sandbox Code Playgroud)