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语句的关系符号见下表:

中文含义关系符英文解释
等于equequal
大于gtrgreater than
大于或等于geqgreater than or equal
小于lssless than
小于或不等于leqless than or equal
不等于neqno 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命令,查看效果。

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

1.setlocal语法和应用

setlocal {enableextension | disableextensions} {enabledelayedexpansion | disabledelayedexpansion}

setlocal是指批处理本地化的一种操作,使启动批处理文件中环境变量的本地化。本地化将持续到出现匹配的 endlocal 命令或者到达批处理文件结尾为止。

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

@echo off
setlocal
path=e:/windowsbat
echo 局部环境变量path的值是:
set path
endlocal
echo 系统环境变量path得值是:
set path

(2)在命令行运行testsetlocal.bat文件查看程序运行效果。

2.shift命令

这个命令很简单就不多说了,自己运行理解下就好了

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

@echo off
:round
if "%1"=="" goto end
echo %1内容如下:
type %1
echo.
shift
goto round
:end

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

3.通配符—(” * “和”?”)

" * " :匹配大于等于零个任意字符。
"?":匹配一个任意字符。

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

@echo off
if exist *.txt echo 当前文件夹下有文本文件!
echo 以p开头的文件目录如下:
dir /d /w /b p*
echo.
echo 以dk开头,第三个自复位任意字符,第四个字符为t,扩展名为三个字符以do开头我的文件如下:
dir /b /w dk?.do?

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

4.重定向符—(” > “,” < ” 和” >> “)

不知道怎么解释,直接上代码,自行理解

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

@echo off
echo 正在创建批处理文件.....
echo echo 已经进入testauto.bat批处理文件中.....
echo type a.txt > testauto.bat
echo dir /b /w >> testauto.bat
echo 被自动创建的批处理文件的内容是:
type testauto.bat
echo. 
echo 排序后的testauto.bat文件内容是:
sort <testauto.bat

(2)在命令行运行testauto.bat查看运行结果,自行理解!

5.管道符—(” | “)

个人理解就是在两个函数之间传递参数,管道就很形象了,下面的案例就是这样的讲find函数查找的内容传递到sort函数中用于排序

(1)建立gpl.txt文件并输入一些文本内容做测试。
(2)建立testgpl.txt,并写入如下代码:

@echo off 
find "hello" gpl.txt | sort > gplresult.txt
echo 对包含"hello"的单词排序后如下:
type gplresult.txt

(3)在命令行运行testgpl.bat查看运行结果,自行理解!

第五讲:批处理在实际场景中的应用—第一部分(恭喜看到这里的老哥算是将基本知识了解完了,不知到应用部分是否有人愿意看,想看的通过qq邮箱联系我,突然没了更新的动力)

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值