为了一个应用,需要写bat脚本,纠结了我很长时间,以下是这段代码,基本涉及到bat的一些高级用法。备份下。
SETLOCAL DISABLEDELAYEDEXPANSION
for /f "delims=>< tokens=3" %%i in ('findstr "<appName>.*</appName>" all\pom.xml') do set APPNAME=%%i
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set APPNAME=%%APPNAME:%%i=%%i%%
set ANTX_PROPERTY_TEMP=!%APPNAME%_ANTX_PROPERTY!
1、从all\pom.xml文件中找出<appName>.*</appName>,再用>或者<来截取,取第三段给APPNAME变量。
for /f "delims=>< tokens=3" %%i in ('findstr "<appName>.*</appName>" all\pom.xml') do set APPNAME=%%i
2、小写字母换成大写。echo %str%:A=A,用A到str中查询字母的时候是不区分大小写的。
for %%i in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do call set APPNAME=%%APPNAME:%%i=%%i%%
3、取变量的变量,注意要加上SETLOCAL DISABLEDELAYEDEXPANSION
set ANTX_PROPERTY_TEMP=!%APPNAME%_ANTX_PROPERTY!
一些常用的用法可以去百度搜索:《BAT命令大全》