我正在尝试使用一个批处理文件从txt文件中获取两个参数,然后将这两个参数作为参数传递给函数。
我应该使用for循环,因为文本文件在每一行中都包含这两个参数,
这里到现在为止
@echo off
for /F "tokens=* EOL=# delims=" %%D in (C:\Users\ba\Desktop\New folder (3)\r.txt) do call:myd "%%~D" "%%~D"
答案 0 :(得分:2)
首先,您需要在文件名中使用引号,因为它有空格。但引号对for /f
具有特殊含义,因此您需要使用usebackq
指令。
其次,你告诉它获取所有令牌,(tokens=*
)没有分隔符(delims=
),基本上是整行。但是你想传递两个参数。假设您的文件包含类似param1 param2
的列表,您将要使用空格作为分隔符,并获得令牌1和2.
最后,您要将第二个参数引用为%%E
,因为它跟在%%D
之后。
尝试:
@echo off
for /F "usebackq tokens=1,2 EOL=# delims= " %%D in ("C:\Users\ba\Desktop\New folder (3)\r.txt") do call:myd "%%~D" "%%~E"