[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 如何用最效率的方法在一个txt中获取多个变量值?

txt文件内容类似:
a=xxx
b=xxx
c=zzz
d=mmm

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

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

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

还要在变量里面进行操作得到最终值变量,操作后返回上级最后第三方工具+路径变量+最终值变量,进行执行命令

TOP

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
复制代码

TOP

回复 3# 523066680


    txt文本中不只有变量,还有后续第三方程序需要用的配置参数。所以,我只能读取特定关键字的内容到变量.其余内容是舍弃的

TOP

回复 2# xp3000


    我用的for  in do 循环提取,用sed和fr做文本替换。有一个特定的子过程校验文字替换是否成功
但这样效率好低

TOP

回复 3# 523066680


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

TOP

你是要用sed对变量进行替换后输出新的变量吧

TOP

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

观察显示的结果。

TOP

返回列表