Batch file 写入.bat文件以在ASCII文件中查找文件名并将其设置为变量
我想从ascii文件的一行中提取文件名。在examplefile.txt文件的一行中,我有以下文本:Batch file 写入.bat文件以在ASCII文件中查找文件名并将其设置为变量,batch-file,Batch File,我想从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 "t
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
您的方法看起来不错,直到/f的
,但我可能会使用
for /f "tokens=1*" %%A in (examplefile.txt) do set "%%A=%%B"
在此之后,您应该有两个变量%inputfile%
和%outputfile%
如果使用FINDSTR过滤掉不需要的行,则可以提高性能
for /f "tokens=1*" %%A in ('findstr /r /c:"^Inputfile " /c:"^Outputfile " "examplefile.txt"') do set "%%A=%%B"
假设文件包含的行数超过这两行。这个问题有点模糊(遗憾的是,大多数关于潜在重要先决条件的问题也是如此)。