Batch file 如何创建从文本文件中获取2个参数的批处理文件
我试图创建一个批处理文件,该文件从txt文件中获取两个参数,然后将这两个参数作为参数传递给函数 我应该使用for循环,因为文本文件的每一行都包含这两个参数 这是我到现在为止得到的Batch file 如何创建从文本文件中获取2个参数的批处理文件,batch-file,cmd,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" 首先,您需要在文件名中使用引号,因为它有空格。但是引号对/f的有特殊的意义,因此
@echo off
for /F "tokens=* EOL=# delims=" %%D in (C:\Users\ba\Desktop\New folder (3)\r.txt) do call:myd "%%~D" "%%~D"
首先,您需要在文件名中使用引号,因为它有空格。但是引号对/f的
有特殊的意义,因此您需要使用usebackq
指令
第二,您告诉它获取所有令牌(tokens=*
)而不使用分隔符(delims=
),基本上是整行。但是您需要传递两个参数。假设您的文件包含一个类似于param1 param2
的列表,则需要使用空格作为分隔符,并获取标记1和标记2
最后,您需要将第二个参数引用为%%E
,因为它紧跟在%%D
之后
尝试:
首先,您需要在文件名中使用引号,因为它有空格。但是引号对/f的有特殊的意义,因此您需要使用usebackq
指令
第二,您告诉它获取所有令牌(tokens=*
)而不使用分隔符(delims=
),基本上是整行。但是您需要传递两个参数。假设您的文件包含一个类似于param1 param2
的列表,则需要使用空格作为分隔符,并获取标记1和标记2
最后,您需要将第二个参数引用为%%E
,因为它紧跟在%%D
之后
尝试:
另一点:要调用另一个批处理文件,请使用call myd.bat
而不是call:myd
(尝试调用标签)。在myd.bat
中,将参数引用为%1
和%2
@Stephan cite:将这两个参数作为参数传递给函数
不一定意味着一个外部
批处理函数另一点:要调用另一个批处理文件,请使用调用myd.bat
而不是调用:myd
(尝试调用标签)。在myd.bat
中,将参数引用为%1
和%2
@Stephan cite:将这两个参数作为参数传递给函数
不一定意味着外部
批处理函数
@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"