Windows Shell:从文件中提取命令并运行它们

时间:2018-11-20 12:25:45

标签: batch-file

如何从bat文件中提取遵循特定模式的一组命令并在bach中运行它们?

示例: file.txt

export TOOLCHAIN="multi"
# Version of toolchain (optional)
# Location of toolchain (optional for WINDOWS)
export TOOLPATH="D:/Tools/compiler/GHS/GHS_COMPILER/PPC"

在此示例中,我正在寻找一个可能

的命令
  1. 找到所有以export开头的行
  2. 提取命令
  3. 运行命令

输出:

set TOOLCHAIN="multi"
set TOOLPATH="D:/Tools/compiler/GHS/GHS_COMPILER/PPC"

1 个答案:

答案 0 :(得分:3)

也许是吗?:

@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('type file.txt ^|findstr /B "export"') do (
  set "output=%%i"
  set myCMD=!output:export=set!
  echo !myCMD!
 )

只需循环键入file.txt的类型命令,然后在行的开头findstr导出单词,并用set替换。

这将简单地echo的完整命令,如果对结果满意以实际运行set命令,则可以删除echo