考虑 out.txt 文件具有以下格式
Display Variable;
ID NAME value
===*==========*================
201 Variavle 07Dec2014
Display Variable12;
ID NAME value
===*==========*================
201 Variavle12 08Dec2014
Display Variable123;
ID NAME value
===*==========*================
201 Variavle123 09Dec2014
测试脚本
在批处理文件中,我们需要搜索变量、变量12和变量123,并将每个变量值返回到与变量同名的批处理文件。
SET Variavle=09Dec2014
SET Variavle12=08Dec2014
SET Variavle123=09Dec2014
请帮助我完成它。
答案1
@echo off
setlocal enableextensions disabledelayedexpansion
for /f "tokens=2-3" %%a in ('
findstr /b /r /c:"[0-9]" "log.txt"
') do set "%%a=%%b"
set Variav
for /f
用于
findstr
对文件执行命令log.txt
,搜索以数字开头的行使用空格或制表符作为分隔符对行进行标记,并将行中的第二和第三个标记检索到可替换参数
%%a
(命令中指示的起始标记)和%%b
(按字母顺序排列的下一个标记)中
对于找到的每一行,do
都会执行该子句并定义变量。
最后set Variav
仅包含将定义的变量输出到控制台。