Windows批处理保姆级命令一篇搞定

目录

介绍

定义

主要特点

命令介绍

常用命令

echo 输出命令

变量运算符

重定向运算 

从左向右

>  覆盖

>> 不覆盖,追加内容

从右向左

管道符操作

参数传递 

查看任务列表

kill任务 

条件判断

 循环结构

分支选择


介绍

定义

Windows批处理是指在Microsoft Windows操作系统中使用批处理脚本(.bat 或 .cmd 文件)来自动化执行一系列命令序列的过程。批处理脚本是一种简单的文本文件,其中包含了一系列由操作系统内置命令、控制结构和变量构成的命令行指令。这些脚本文件可以在命令提示符(CMD)环境下直接运行,或者通过双击文件图标在图形用户界面(GUI)下执行。以下是对Windows批处理的主要特点、基本结构、常用命令和高级特性的详细介绍:

主要特点

  1. 简单易用:批处理脚本使用简单的命令行语法,不需要学习复杂的编程语言,适合快速编写简单的自动化任务。

  2. 跨平台兼容性:尽管批处理主要适用于Windows系统,但它在各种Windows版本(如Windows 7、Windows 10、Windows Server等)中都能良好运行,具有良好的向下兼容性。

  3. 资源高效:批处理脚本直接在命令行环境下运行,相比于图形化应用程序,消耗的系统资源较少,尤其适合在资源有限的环境中执行批量作业。

  4. 脚本化工作流:批处理脚本可以用来组织一系列命令,形成自动化的工作流程,如文件管理、系统维护、数据处理、软件部署等。

命令介绍

Batch
Batch -- 批处理;
Batch file -- 批处理文件;

DOS 批处理;

由 DOS 或者 windows 内嵌命令解释器(例如:cmd.exe)解释执行;

类似 Unix 中的 shell 脚本;

在批处理中不仅可以使用系统本身提供的命令,还能使用已安装的第三方提供的工具或软件;

一般情况:每条命令占一行;当然也可以将多条命令用特定符号(& && | ||)分隔后写到同一行;

系统在解释运行批处理程序时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见 exit 命令或出错意外退出。

基础批处理命令
echo      显示消息,或者启用或关闭命令回显。
rem        在批处理文件或 CONFIG.SYS 里加上注解或说明。
pause    暂停批处理程序,并显示以下消息:
call         从批处理程序调用另一个批处理程序。
start        启动一个单独的窗口以运行指定的程序或命令。
goto        将 cmd.exe 定向到批处理程序中带标签的行。
set          显示、设置或删除 cmd.exe 环境变量。
链接:批处理常用命令总结 - 批处理命令简介

批处理常用符号简介
回显屏蔽 @
重定向1 > 与 >>
重定向2 <
管道符号 |
转义符 ^
逻辑命令符 & && ||
链接:批处理常用命令总结 - 批处理符号简介

基础 DOS 命令
文件系统操作
vol   查看磁盘卷标号。
label    创建、更改或删除磁盘的卷标。


文件夹管理
cd        显示当前目录名或改变当前目录。
md/mkdir  创建目录
rd/rmdir     删除一个目录。
dir    显示目录中的文件和子目录列表。
tree   以图形显示驱动器或路径的文件夹结构。
path   为可执行文件显示或设置一个搜索路径。
xcopy   复制文件和目录树。


文件管理
type   显示文本文件的内容
copy   将一分或多分文件复制到另一个位置
del/erase   删除一个或数个文件
move    将移动文件并重命名文件和目录。
ren/rename   重名文件
replace     替换文件
attrib    显示或者更改文件属性
find   搜索字符串
fc     比较两个文件或两个文件集显示他们之间的不同
网络相关 
ping   进行网络连接测试,名称解析
ftp    文件传输
net    网络命令集用户管理
telnet    远程登录
ipconfig   显示,修改TCP/IP设置
msg    给用户发送消息
arp        显示,修改局域网的IP地址-物理地址映射列表


系统管理
at    安排在特定日期和时间运行命令和程序
shutdown    立即或定时关机或重启
tskill           结束进程
taskkill       结束进程(比tskill高级,但WinXPHome版本中无该命令)
tasklist       显示进程列表(windows xp Home Edition中没有)
sc   系统服务设置于控制
reg    注册表控制台工具
powercfg    控制系统上的电源设置


其他命令
cls    清除屏幕
assoc   显示或修改文件扩展名关联
ftype   显示或修改用在文件扩展名关联中的文件类型
对于以上列出的所有命令,在 cmd 中输入命令 +/? 即可查看该命令的帮助信息。如 find /?

常用命令

echo 输出命令

在cmd框下输入echo输出显示行数据

如果想让在输出命令时不输出磁盘符,需要在输出命令前加 @echo off命令 ,并将文件调整为后缀为.bat的文件

 

 双击文件执行批命令

可以看到再次输出的命令中前面不再含有磁盘符了 

注意前面的最后一行pause(暂停) 命令在执行到这一行时不会关闭cmd框,如果不加此行,会直接一个闪现关闭cmd框,不再等待下面的命令

变量运算符

bat命令中在使用变量时要用 %变量名% 进行包裹

举例:

双击bat命令执行

重定向运算 

从左向右

>  覆盖

使用 > 可以将箭头左边内容向箭头右边指定的文件进行写入,且具有覆盖功能

来到测试文件夹下

 可以看到目前只有test.bat 一个文件,此时我们进行测试:

 直接使用ui进行查看

也可以使用type 命令进行查看文件内容

 然后我们检验其覆盖内容,再次在该文件写入内容:

可以看到其文件内容覆盖为了 Hi China,目录下也没有新增文件

>> 不覆盖,追加内容

使用>> 进行重定向时不会对文件进行覆盖,而是追加到原文件尾部

还是以刚才的china.txt文件为例,现在china.txt的内容是Hi China,现在使用>>再输入文本,查看是否会被覆盖

 可以看到文本是追加到之前的内容后的

从右向左

从右向左是和从左向右的相反操作,也就是 <和<< ,这里不再演示

管道符操作

管道符操作使用 A | B  进行连接,通俗解释为将A命令的输出当做B命令的输入执行

举例:

还是在之前的目录下

现在目录下有.txt和.bat为后缀的文件 ,查询出该目录下以.txt为后缀的所有文件

参数传递 

bat命令接收参数使用%num来进行接收,注释符命令为rem

举例:在命令行中传递两个参数,最后输入参数和

运行脚本

 

查看任务列表

tasklist 可以查看当前系统的任务列表

输入tasklist /?  可以查看到关于tasklist相关的其他命令

 举例:

筛选出任务状态为running的任务:

kill任务 

输入taskkill /? 可以查看杀死任务的相关命令

 taskkill /im 可以通过任务进行杀死任务

比如这里以nodePad++为例

taskkill /im notedpad++.exe

 

可以看到notepad++任务已经被杀死了 

或者使用taskkill /pid 通过任务的pid杀死任务

重新打开notepad++,并在任务管理器中找到其pid,或者使用tasklist查看其pid

查看到其pid为119860,输入其pid进行杀死命令

 

成功杀死notepad++任务进程 

条件判断

bat命令还可以使用条件判断,这个和大多数编程语言语法基本相似,但是注意if判断后的逻辑执行语句是放在()里,if的判断条件是不需要加()的,这是bat命令和其他编程语言的明显差别

双击启动

 还可以结合exist来判断文件是否存在

 注意文件路径中最好不要有中文,有的电脑在测试时有中文路径这里会打印不存在(博主的就是),再测试一个不存在的文件

 

 循环结构

bat命令使用for来进行循环结构的书写

举例:删除指定文件夹下的所有.txt后缀的文件

其子目录也包含有.txt文件,使用for循环循环该文件夹下的每个文件夹和文件,然后删除掉包含.txt的文件

 

执行结果

可以看到找不到中文命名的那个.txt文件,这里测试时最好还是以英文文件测试,重名下再测试

 

 循环删除成功

分支选择

批处理还可以根据输入不同的数字命令来执行不同的分支命令

举例:

@echo off

echo 1.show ip address
echo 2.show network link
echo 3.show direcotory

:main
echo enter your option:
set /p opt=

if %opt% == 1 goto one
if %opt% == 2 goto two
if %opt% == 3 goto three
echo invalid option
goto main

:one
ipconfig /all
pause>nul
exit

:two
netstat -an
pause>nul
exit

:three
dir
pause>nul
exit

pause

运行测试:

 

  • 16
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值