- 读取文件内容并赋值给变量
for /f %%i in (version.txt) do (set VERSION=%%i)
读取 properties 文件里的变量值付给另一个变量。
将 env.properties 里 build_dir 的值赋给 build_dir_new。
tokens=1,2 delims== 表示文件里有第1列和第2列,以 delims== 中第二个 = 为分隔符。如果分隔符为逗号,则写成 delims=,
set key="build_dir"
for /f "tokens=1,2 delims==" %%i in (env.properties) do (
if "%%i"==%key% set build_dir_new=%%j)
- if 条件嵌套。如果最后在括号前不加 exit 0,会报错。
if %module% == A (
if %Project% == aa goto RESET
if %Project% == bb goto RESET
if %Project% == cc goto RESET
goto NEXT
:RESET
set share_dir=%share_dir%\Internal
:NEXT
exit 0
)
- 连接网络、共享目录\rootXXX\subdirXXX\
net use "\\rootXXX\subdirXXX"
- 显示日期和时间
date /t && time /t
- 用管理员身份的命令方式安装或卸载msi文件。
*注:如果已经用管理员身份打开了CMD, 则直接执行msiexec行;如果想全部执行命令,则创建 .bat文件并保存以下全部代码。
安装:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
cd "C:\temp\folder"
msiexec /i "installer kit.msi" /qn
卸载:
@echo off
%1 mshta vbscript:CreateObject("Shell.Application").ShellExecute("cmd.exe","/c "^&chr(34)^&"%~0"^&chr(34)^&" ::","%cd%","runas",1)(window.close)&&exit
msiexec /x {11111111-BF6A-4DDF-B142-15D1111114FBA2} /qn
其中,长字符串为软件安装后的product ID/Code, 可以用如下命令读取:
wmic product where Name='XXX' get IdentifyingNumber |findstr {*} > ID.txt
Name=‘XXX’ 为软件安装后显示在control panel中的名称。