CMD命令与批处理
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——注释
Bat代码
@ECHO OFF
rem 设置host路径
SET HOST_HOME=C:WindowsSystem32driversetc
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 .87spdbedw.pm %AUTO_HOME%bin /s /I /y >> run.log
@xcopy .87LOGON_DW_CRSUSR %AUTO_HOME%etc /s /I /y >> run.log
@xcopy .87hosts %HOST_HOME% /s /I /y >> run.log
echo 成功切为:87开发环境!
goto Restart
:EVN151
rem 更新当前环境为151环境配置
@xcopy .151spdbedw.pm %AUTO_HOME%bin /s /I /y >> run.log
@xcopy .151LOGON_DW_CRSUSR %AUTO_HOME%etc /s /I /y >> run.log
@xcopy .151hosts %HOST_HOME% /s /I /y >> run.log
echo 成功切为:151UAT环境!
goto Restart
:EVN204
rem 设置PIP服务器
rem wmic ENVIRONMENT where "name='PIP_SERVER1' and username=''" set VariableValue="10.112.9.204" 1>nul
rem wmic ENVIRONMENT where "name='PIP_SERVER2' and username=''" set VariableValue="10.112.9.204" 1>nul
rem wmic ENVIRONMENT where "name='PIP_SERVER3' and username=''" set VariableValue="10.112.9.204" 1>nul
rem wmic ENVIRONMENT where "name='PIP_SERVER4' and username=''" set VariableValue="10.112.9.204" 1>nul
rem 更新当前环境为PKG环境配置
@xcopy .204spdbedw.pm %AUTO_HOME%bin /s /I /y >> run.log
@xcopy .204LOGON_DW_CRSUSR %AUTO_HOME%etc /s /I /y >> run.log
@xcopy .204hosts %HOST_HOME% /s /I /y >> run.log
echo 成功切为:PKG打包环境!
goto Restart
:end_flag
echo 结束,谢谢!
pause