Windows批处理命令32讲更新中!!!

Windows批处理命令32讲

—版权作者:电子科技大学宋宇超

第一讲:掌握批处理文件创建与编辑方法

1.copy con命令创建简单批处理文件:

为了更好地学习请尝试执行以下步骤加深对命令的理解:
(1)copy con file_exist.bat(这个命令是创建了一个file_exist.bat文件接下来可以在下面的命令行将你想执行的批处理命令写入文件)
(2)@echo on(批处理文件的开始)
(3)if exist a.txt echo There is a.txt file in current directory!
(4)ctrl+z结束批处理文件的编辑
(5)通过dir命令查看当前命令是否成功创建相应的批处理文件
(6)用echo .>a.txt 创建一个a.txt文件检验我们创建的file_exist.bat批处理文件执行效果
(7)file_exist.bat(运行批处理文件查看效果)

2.使用edit命令创建和编辑批处理文件

这个不多说和,感觉和记事本差不多,在命令行输入edit命令或者在windows开始菜单输入edit并回车运行便可以打开这个古老的编辑器; 这个编辑器在win7及更高版本已被取消

3.用记事本创建批处理文件

计算机史上最伟大的编译器,哈哈哈,这个创建流程也不多说了,相信大家都懂。

第二讲:全面了解批处理命令的语法和功能-第一部分

[ ]中的内容代表必选项,{ }中的内容代表可选项

1.echo命令的语法和应用:

格式:echo [{on|off}] [message]
(1)创建a.txt文件,文件内容-‘Hello World’
(2)创建testbat.bat文件,写入如下批处理命令

echo on
type a.txt
echo 现在关闭命令显示!!!!
echo off
type a.txt

(3)在命令行红中输入testbat.bat命令测试命令显示效果

2.@(小老鼠命令)命令–重要的显示控制命令

禁止当前命令在屏幕回显

@echo on
@type a.txt
@echo 现在关闭命令显示!!!!
@echo off
type a.txt

对比echo中命令的代码展示效果理解@命令的操作。

3.pause命令语法和应用

示例代码如下,请运行查看结果,方便理解

@echo off
echo pause命令测试....
pause
type a.txt

cmd清屏命令:cls

4.call命令语法和应用(比较重要的批处理命令)

语法: call [ [Drive:] [Path] FileName [BatchParameters]] [:label [arguments]]

(1)创建called.bat文件并写入如下代码:

@echo off
echo 已经进入called.bat
type a.txt

(2)创建testcall.bat文件并写入如下代码:

@echo off
echo 正在调用called.bat....
call called.bat
echo called.bat调用完毕!
echo 现在调用"XX"标号后的语句
call :XX

:XX
echo "XX"标号后的语句....

(3)在命令行中执行testcall.bat查看运行效果。

5.rem–简单的注释命令

直接上代码,大家自行理解:

@echo off
rem 这是一个简单的批处理命令
type a.txt
dir *.txt

6.set命令语法和应用

SET [[/a [expression]] [/p [variable=]] string]

赋值或者删除环境变量
(1)创建testset.bat命令并填入以下代码:

@echo off
set xxx="e:/windowsbat"
echo 显示所有以字母x开头的变量
dir /w %xxx%
rem 以列表的形式显示当前目录下的文件
rem 删除名为xxx的变量
set xxx=

(2)在命令行执行testset.bat查看运行效果。

第三讲:全面了解批处理命令的语法和功能-第二部分

1.goto命令语法和应用(控制转向命令)

goto label

(1)建立testgoto.bat文件,写入如下代码

@echo off
echo 跳过中间的命令,只执行last之后的命令
goto last
dir
type a.txt
:last
dir a.txt

(2)在命令行运行testgoto.bat命令查看运行效果。

2.start命令语法和应用

START ["title"] [/Dpath] [/I] [/MIN] [/MAX] [/SEPARATE | /SHARED] [/LOW | /NORMAL | /HIGH | /REALTIME | /ABOVENORMAL | /BELOWNORMAL] [/WAIT] [/B] [command/program] [parameters]

(1)创建teststart.bat文件,并写入如下代码:

@echo off
echo 将在新的窗口显示a.txt内容
start "a.txt内容" /wait type a.txt
echo 已从新窗口中返回

在命令行中运行teststar.bat命令查看效果并理解

3.if命令语法和应用

if判断适用于以下四种情况

 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 条件表达式 语句,它的含义是:如果条件表达式成立,将执行语句,否则,什么也不做。多层 if 嵌套的语法举例:

if exist a.txt (
  if exist 1.txt (
    echo 存在 a.txt 和 1.txt
  ) else (
    echo 存在 a.txt 但是不存在 1.txt
  )
) else if exist b.txt (
  echo 不存在 a.txt 但是存在 b.txt
) else (
  echo 不存在 a.txt 和 b.txt
)

(1)建立testif.bat文件,并写入如下代码:

@echo off
if exist a.txt (echo 存在a.txt命令,其内容为: type a.txt) elseecho 不存在a.txt命令)

(2)在命令行运行testif.bat命令,查看效果。

4.for命令语法和应用

FOR %variable IN (set) DO command [command-parameters]
注意:for命令后面的变量严格区分大小写

(1)建立testfor.bat文件,并写入如下代码:

@echo off 
set /a sum=0
for %%x in (*.txt) do (
echo %%x文件内容如下:
type %%x
echo.
rem "echo."代表换一行显示
set /a sum=sum+1
)
echo 总共检测到%sum%个txt文件

(2)在命令行运行testfor.bat命令,查看效果。

第四讲全面了解批处理命令的语法和功能-第三部分敬请期待

猜你喜欢

转载自blog.csdn.net/m0_37630059/article/details/80753313