编写.bat文件以在ASCII文件中查找文件名并将其设置为变量

时间:2012-05-22 12:46:35

标签: 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 "tokens=1*" %%A in (examplefile.txt) do (
set "TEMP=%%A"
if %TEMP% = "Inputfile" goto :break
)
:break

2 个答案:

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