Board logo

标题: [文件操作] 如何用最效率的方法在一个txt中获取多个变量值? [打印本页]

作者: chouxia    时间: 2018-10-6 11:18     标题: 如何用最效率的方法在一个txt中获取多个变量值?

txt文件内容类似:
a=xxx
b=xxx
c=zzz
d=mmm
作者: xp3000    时间: 2018-10-6 11:36

老兄也是卡这里了啊,我也是卡这里了,不过我的似乎更麻烦点,

for ...... in (文件路径) do (第三方命令多个提取以及替换字符串)

然后还需要从(第三方命令多个提取以及替换字符串)输出内容赋予变量,从这个变量里面提取多个字符串赋予多个变量,

还要在变量里面进行操作得到最终值变量,操作后返回上级最后第三方工具+路径变量+最终值变量,进行执行命令
作者: 523066680    时间: 2018-10-6 11:53

1.txt
  1. a=xxx
  2. b=xxx
  3. c=zzz
  4. d=mmm
复制代码
load.bat
  1. @echo off
  2. :: 读取 创建变量
  3. for /f %%s in (1.txt) do set var_%%s
  4. :: 枚举 var_ 开头的变量
  5. set var_
  6. pause
复制代码

作者: chouxia    时间: 2018-10-6 12:04

回复 3# 523066680


    txt文本中不只有变量,还有后续第三方程序需要用的配置参数。所以,我只能读取特定关键字的内容到变量.其余内容是舍弃的
作者: chouxia    时间: 2018-10-6 12:05

回复 2# xp3000


    我用的for  in do 循环提取,用sed和fr做文本替换。有一个特定的子过程校验文字替换是否成功
但这样效率好低
作者: chouxia    时间: 2018-10-6 12:30

回复 3# 523066680


    呃......
能解释下这两行代码的意思吗?真心想请教
for /f %%s in (e:\ttt\444.txt) do (set var_%%s)
这个set_是什么意思?
为什么到了下面的时候这个set var_这里由变成了回显?
作者: xp3000    时间: 2018-10-6 12:53

你是要用sed对变量进行替换后输出新的变量吧
作者: 523066680    时间: 2018-10-6 14:11

for /f %%s in (1.txt) do set var_%%s
改为
for /f %%s in (1.txt) do echo set var_%%s

观察显示的结果。




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2