我想从ascii文件的一行中提取文件名。在文件examplefile.txt的一行中,我有以下文字:
Inputfile input_file.txt
Outputfile output_file.txt
我想要做的是打开examplefile.txt并读取输入和输出文件的名称并将它们设置为变量。相当于以下行:
Set "INPUTFILE=input_file.txt"
Set "OUTPUTFILE=output_file.txt"
我尝试过这样的事情,但是没有用:
for /f "tokens=1*" %%A in (examplefile.txt) do (
set "TEMP=%%A"
if %TEMP% = "Inputfile" goto :break
)
:break
答案 0 :(得分:0)
你的方法看起来很好,直到for /f
,但我可能只是使用
for /f "tokens=1*" %%A in (examplefile.txt) do set "%%A=%%B"
之后,您应该拥有两个变量%inputfile%
和%outputfile%
。
答案 1 :(得分:0)
如果使用FINDSTR过滤掉不需要的行,则可以提高性能。
for /f "tokens=1*" %%A in ('findstr /r /c:"^Inputfile " /c:"^Outputfile " "examplefile.txt"') do set "%%A=%%B"