如何创建一个从文本文件中

时间:2016-10-26 06:34:50

标签: batch-file cmd

我正在尝试使用一个批处理文件从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"

1 个答案:

答案 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"