如何从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"
在此示例中,我正在寻找一个可能
的命令export
开头的行输出:
set TOOLCHAIN="multi"
set TOOLPATH="D:/Tools/compiler/GHS/GHS_COMPILER/PPC"
答案 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
。