1.一条CMD命令执行结果或状态值存于变量:%errorlevel%
多数命令0表示正常,其获取与判断:
if "%errorlevel%" == "0" echo 执行成功!或 if errorlevel 0 echo 执行成功!
2. 符号:&&与||
&& 和 || 都是连续执行命令的连接命令,前一种是前面命令正常执行时执行其后的命令,后一种当然就是不正常时执行的啦。
CMD1&&CMD2||CMD3 :CMD1执行正常则执行CMD2,前面命令执行不正常则执行CMD3。
3. 回显与命令执行信输出
echo ON/OFF:CMD命令执行时,命令内容要不要回显,批处理时,通常ECHO OFF;
命令输出:命令后可指明信息输出位置,如文件,1是正常输出,2为错误信息。
1>nul 不显示正常输出
2>nul 不显示错误输出
4. CMD命令启动BAT:start
附:BAT批处理文件小例子,供试运行摸索学习(所涉及目录需先创建)。
rem——注释
@ECHO OFF rem 设置host路径 SET HOST_HOME=C:\\Windows\\System32\\drivers\\etc ECHO. ECHO. ECHO. ECHO. ECHO. ECHO. ECHO. =-=-=-=-=87、151和204环境切换=-=-=-=-= echo 1、切换到87开发环境 echo 2、切换到151UAT环境 echo 3、切换到204打包环境 echo 0、退出 :Restart ECHO. set /p cho= 请输入你的选择(数字): if /i "%cho%"=="1" goto EVN87 if /i "%cho%"=="2" goto EVN151 if /i "%cho%"=="3" goto EVN204 if /i "%cho%"=="0" goto end_flag echo 你的输入有误,请重新输入 rem &&pause&&cls&&goto statart goto Restart :EVN87 rem 更新当前环境为87环境配置 @xcopy .\87\spdbedw.pm %AUTO_HOME%\bin\ /s /I /y >> run.log @xcopy .\87\LOGON_DW_CRSUSR %AUTO_HOME%\etc\ /s /I /y >> run.log @xcopy .\87\hosts %HOST_HOME%\ /s /I /y >> run.log echo 成功切为:87开发环境! goto Restart :EVN151 rem 更新当前环境为151环境配置 @xcopy .\151\spdbedw.pm %AUTO_HOME%\bin\ /s /I /y >> run.log @xcopy .\151\LOGON_DW_CRSUSR %AUTO_HOME%\etc\ /s /I /y >> run.log @xcopy .\151\hosts %HOST_HOME%\ /s /I /y >> run.log echo 成功切为:151UAT环境! goto Restart :EVN204 rem 设置PIP服务器 rem wmic ENVIRONMENT where "name='PIP_SERVER1' and username='<system>'" set VariableValue="10.112.9.204" 1>nul rem wmic ENVIRONMENT where "name='PIP_SERVER2' and username='<system>'" set VariableValue="10.112.9.204" 1>nul rem wmic ENVIRONMENT where "name='PIP_SERVER3' and username='<system>'" set VariableValue="10.112.9.204" 1>nul rem wmic ENVIRONMENT where "name='PIP_SERVER4' and username='<system>'" set VariableValue="10.112.9.204" 1>nul rem 更新当前环境为PKG环境配置 @xcopy .\204\spdbedw.pm %AUTO_HOME%\bin\ /s /I /y >> run.log @xcopy .\204\LOGON_DW_CRSUSR %AUTO_HOME%\etc\ /s /I /y >> run.log @xcopy .\204\hosts %HOST_HOME%\ /s /I /y >> run.log echo 成功切为:PKG打包环境! goto Restart :end_flag echo 结束,谢谢! pause