cmd if条件 条件判断

所属分类: 脚本专栏 / DOS/BAT 阅读数: 1561
收藏 0 赞 0 分享
1、判断驱动器、文件或文件夹是否存在,用 if exist 语句;
  2、判断某两个字符串是否相等,用 if "字符串1"=="字符串2" 语句;
  3、判断某两个数值是否相等,用 if 数值1 equ 数值2 语句;
  4、判断某个变量是否已经被赋值,用 if defined str 语句;
  if语句的完整格式是这样的:if 条件表达式 (语句1) else (语句2),它的含义是:如果条件表达式成立,那么,就执行语句1,否则,将执行语句2。
  对于以上四种情形,可以分别使用如下代码:
  1、if exist d:\test.txt (echo D盘下有test.txt存在) else (echo D盘下不存在test.txt)
  2、if "abc"=="xyz" (echo 字符串abc等于字符串xyz) else (echo 字符串abc不等于字符串xyz)
  3、if 1 equ 2 (echo 1等于2) else (echo 1不等于2)
  4、if defined str (echo 变量str已经被赋值,其值为%str%) else (echo 变量str的值为空)
  判断字符串是否相等的时候,if会区分大小写,比如,单纯的if语句会认为字符串abc和字符串Abc不相同,若不想区分大小写,则需要添加 /i 开关,使用 if /i "字符串1"=="字符串2" 的格式;另外,等于符号是连续的"=="而非单独的"="。
  判断两个数值之间的大小关系,除了等于用equ之外,还有其他的关系符号,所有适用于if语句的关系符号见下表:
中文含义    关系符    英文解释
等于        equ    equal
大于        gtr    greater than
大于或等于    geq    greater than or equal
小于        lss    less than
小于或等于    leq    less than or equal
不等于        neq    no equal
  if语句还有一个精简格式:if 条件表达式 语句,它的含义是:如果条件表达式成立,将执行语句,否则,什么也不做。

实例:

把以下保存为BAT文件

复制代码 代码如下:

@echo off
if exist e:\123.bat goto st
copy /y c:\123.bat e:\123.bat
goto st
:st
start e:\123.bat
exit


说明:

判断文件存不存在,存在就执行,不存在则复制文件到目标再执行。可按需要改动里面的文件名,可为EXE、BAT、CMD、COM等执行文件。

BAT编程-choice命令

choice 命令

choice 命令可以让用户输入一个字符,从而运行不同的命令,其命令格式为“ choice [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text] ”。各参数含义如下:

/C choices          指定要创建的选项列表。默认列表是“Y/N”。
/N                      在提示符中隐藏选项列表。提示前面的消息得到显示选项依旧处于启用状态。
/CS                    允许选择分大小写的选项。在默认情况下,这个工具是不分大小写的。
/T timeout          做出默认选择之前,暂停的秒数。可接受的值是从0~9999。如果指定了0,就不会又暂停,默认选项会得到选择。
/D choice           在 n 秒之后指定默认选项。字符必须在用 /C 选项指定的一组选择中;同时,必须同 /T 指定 n 。
/M text              指定提示之前要显示的消息。如果没有指定,工具只显示提示。

实例: choice 命令的使用

在命令行窗口中输入“choice /C YNC /M "确认请按 Y,否请按 N,或者取消请按 C。"”,运行后显示如图所示。

更多精彩内容其他人还在看

XP下WORKSTATION启动慢导致系统启动时间过长问题的解决方法

通常安装过VMwareWorkstation导致系统启动过慢,经分析后,发现WORKSTATION服务启动时间较长,禁用后效果明显,可WORKSTATION是WINDOWS的共享基础服务,像我就离不开这个服务的,所以只需下面的脚本就可以解决问题了
收藏 0 赞 0 分享

IP动态切换bat脚本

因为公司办公室要设置固定IP才行,而家里的IP段和公司是不一样的,家里采用了DHCP机制,这样每次就得改IP设置,很是不方便,就写了这个脚本来动态切换,很流畅的说! WINXP,WIN7测试通过
收藏 0 赞 0 分享

奥汀管理员不切换bat脚本 V1.0-Design by Adobo

很多程序不能在管理员权限下运行,尤其是一些破解的程序。所以写了这个脚本,不影响正常的管理员,也不用切换到USERS账户~
收藏 0 赞 0 分享

cmd NTSD命令用法详解

ntsd 是一条dos命令,功能是用于结束一些常规下结束不了的死进程
收藏 0 赞 0 分享

win2003下杀任何进程的命令(taskkill,ntsd)

才能关掉一个用任务管理器关不了的进程?大多数人想到的都是专门工具,如IceSword。其实用Windows自带的工具就能杀大部分进程
收藏 0 赞 0 分享

Windows和 Linux下生成以当前时间命名文件的方法

在 Windows、Linux 操作系统,分别利用BAT批处理文件和Shell脚本,生成类似“20110228_082905.txt”以“年月日_时分秒”命名的文件
收藏 0 赞 0 分享

用批处理去掉快捷方式上的小箭头图案的代码

用批处理去掉快捷方式上的小箭头图案的代码,需要的朋友可以参考下。
收藏 0 赞 0 分享

xcopy 实现批处理拷贝文件或文件夹

xcopy 是一个很有用的doc命令,应该学习学习,XCOPY 还有众多的功能, 是加参数来完成的。上面的/s /e 参数的作用分别是把子目录和空目录都复制过去
收藏 0 赞 0 分享

安全工具netsh IPSec使用方法[ip安全策略]

IPSec的全称是Internet Protocol Security,翻译成中文就是Internet协议安全性。它的作用主要有两个:一个是保护 IP 数据包的内容,另外一点就是通过数据包筛选并实施受信任通讯来防御网络攻击
收藏 0 赞 0 分享

注册表危险组件删除功能批处理

用批处理实现的删除注册表危险组件的代码,主要应用于服务器,个人电脑不建议使用。
收藏 0 赞 0 分享
查看更多