×

批处理if else语句

批处理if else语句(关于if和else的批处理求助)

admin admin 发表于2022-12-17 15:14:48 浏览56 评论0

抢沙发发表评论

本文目录

关于if和else的批处理求助


if命令格式可写为
if 判断条件 (
成立时命令系列
) else (
不成立时命令系列)
注意其中正括号前应有空格
除此外部分外由于有括号不是cmd所需要而是传递给vbscript的,在预处理时会影响 if 结构括号的匹配,此部分的括号——主要是反括号——前必须加转义符^ 即写成 ^)

您好,请问您个问题,用批处理中的 if else 怎么样写出 判断oracle数据库开启成功或失败状态谢谢啦


我一般就用下面的代码:
:StartOracle
net start OracleOraDb10g_home2TNSListener
net start OracleServiceORCL
echo 提示: 服务已开启完毕!!!
echo.
goto choice
:ShutdownOracle
rem net stop OracleDBConsoleorcl
rem net stop OracleJobSchedulerORCL
rem net stop OracleOraDb10g_home2iSQL*Plus
net stop OracleOraDb10g_home2TNSListener
net stop OracleServiceORCL
if errorlevel 1 (echo 提示: 服务正处于关闭状态,无需关闭!!!) else (echo 提示: 服务已关闭完成!!!)
echo.
goto choice
::已经打开服务的话,它会自动提示你服务已经打开了

批处理命令中if后面能够跟else吗怎么测试老是出错呢


批处理命令中if后面是能够跟else的。
if 语句的格式是(command是满足条件时要执行的命令):
IF [NOT] ERRORLEVEL number command
IF [NOT] string1==string2 command
IF [NOT] EXIST filename command
NOT 指定只有条件为 false 的情况下,Windows 才
应该执行该命令。
ERRORLEVEL number 如果最后运行的程序返回一个等于或大于
指定数字的退出代码,指定条件为 true。
string1==string2 如果指定的文字字符串匹配,指定条件为 true。
EXIST filename 如果指定的文件名存在,指定条件为 true。
command 如果符合条件,指定要执行的命令。如果指定的
条件为 FALSE,命令后可跟 ELSE 命令,该命令将
在 ELSE 关键字之后执行该命令。
ELSE 子句必须出现在同一行上的 IF 之后。----请特别注意这一部分:
例如:
IF EXIST filename. (
del filename.
) ELSE (
echo filename. missing.
)
由于 del 命令需要用新的一行终止,因此以下子句不会有效:
IF EXIST filename. del filename. ELSE echo filename. missing
由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也
不会有效:
IF EXIST filename. del filename.
ELSE echo filename. missing
如果都放在同一行上,以下子句有效:
IF EXIST filename. (del filename.) ELSE echo filename. missing
如果命令扩展被启用,IF 会如下改变:
IF [/I] string1 compare-op string2 command
IF CMDEXTVERSION number command
IF DEFINED variable command
其中, compare-op 可以是:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
而 /I 开关(如果指定)说明要进行的字符串比较不分大小写。
/I 开关可以用于 IF 的 string1==string2 的形式上。这些
比较都是通用的;原因是,如果 string1 和 string2 都是
由数字组成的,字符串会被转换成数字,进行数字比较。
CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它
是在跟与命令扩展有关联的内部版本号比较。第一个版本
是 1。每次对命令扩展有相当大的增强时,版本号会增加一个。
命令扩展被停用时,CMDEXTVERSION 条件不是真的。
如果已定义环境变量,DEFINED 条件的作用跟 EXIST 的一样,
除了它取得一个环境变量,返回的结果是 true。
如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%
会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,您会得到
其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:
goto answer%ERRORLEVEL%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
您也可以使用以上的数字比较:
IF %ERRORLEVEL% LEQ 1 goto okay
如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%
将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始
命令行;否则,您会得到其数值。
如果没有名为 CMDEXTVERSION 的环境变量,
%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的
字串符表达式;否则,您会得到其数值。

批处理问题 if else 中else后面要显示语句再执行一个语句怎么办,看下面示例


两个命令之间要加连接符&
(echo 输入错误重新输入&goto first)
另外,if比较式最好加引号 if “%a%“==“1“ 最样当set/p a=接受输入时直接回车而导致%a%为空时不会发生语法错误

批处理关于 if 和else的语法


if命令格式可写为
if
判断条件
(
成立时命令系列
)
else
(
不成立时命令系列)
注意其中正括号前应有空格
除此外部分外由于有括号不是cmd所需要而是传递给vbscript的,在预处理时会影响
if
结构括号的匹配,此部分的括号——主要是反括号——前必须加转义符^
即写成
^)

批处理 if详细用法


9.If 命令
if 表示将判断是否符合规定的条件,从而决定执行不同的命令。 有三种格式:
1、if “参数“ == “字符串“ 待执行的命令
参数如果等于指定的字符串,则条件成立,运行命令,否则运行下一句。(注意是两个等号)
如if “%1“==“a“ format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
2、if (not) exist 文件名 待执行的命令
如果有指定的文件,则条件成立,运行命令,否则运行下一句。
如if exist config.sys edit config.sys
3、if errorlevel / if not errorlevel 数字 待执行的命令
如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1。
对于你的例子,实现方法如下:
if exist F:\ (
start a.exe
) else (
start b.exe
)

批处理 if else,问题在注释


应该不会,
@echo off
echo 1.磁盘清理
echo 2.清除历史记录
echo 3.退出
set /p var=请选择相应数字输入:
if %var%==1 (goto a)
if %var%==2 (goto b)
if %var%==3 (goto c)
:a
...............
:b
..........
:c
..............

批处理问题 就是如果输入为m或者n或者p显示输入对了,否则显示错了,要求用if else 怎么办


@echo off
set /p input=请输入:
if “%input%“ == “m“ goto :yes else goto :no
if “%input%“ == “n“ goto :yes else goto :no
if “%input%“ == “p“ goto :yes else goto :no
:no
echo 你输入错误。
pause&exit
:yes
echo 你输入正确。
pause&exit

这个写起来麻烦,但看起来简单,适合初学者。
等你熟悉了,就可以尝试着镶嵌语句了。
@echo off
set /p input=请输入:
if “%input%“ == “m“ goto :yes else (
if “%input%“ == “n“ goto :yes else (
if “%input%“ == “p“ goto :yes else (
goto :no
)
)
)
:no
echo 你输入错误。
pause&exit
:yes
echo 你输入正确。
pause

批处理 if else用法


et /p choose=“请选择:“
if ’%choose%’==’’ (goto menu)
if %choose%==1 (goto 1)
if %choose%==2 (goto 2)
if %choose%==zyy (goto zyy) else(goto menu)