CMD与DOS脚本编程【第三章】
预计更新
第一章. 简介和基础命令
1.1 介绍cmd/dos脚本语言的概念和基本语法
1.2 讲解常用的基础命令和参数,如echo、dir、cd等
第二章. 变量和运算符
2.1 讲解变量和常量的定义和使用方法
2.2 介绍不同类型的运算符和运算规则
第三章. 控制流程和条件语句
3.1 介绍if、else、for、while等控制语句的用法
3.2 讲解条件语句的语法和应用场景
第四章. 函数和参数传递
4.1 讲解如何定义和调用函数以及传递参数
4.2 介绍函数的作用域和递归调用
第五章. 文件操作
5.1 讲解如何创建、读取、写入和删除文件
5.2 介绍文件操作的常用命令和参数,如copy、del、type等
第六章. 环境变量和系统信息
6.1 介绍环境变量的概念和设置方法
6.2 讲解如何获取系统信息,如系统时间、用户名等
第七章. 网络通信和远程控制
7.1 介绍如何使用cmd/dos脚本语言进行网络通信
7.2 讲解如何使用远程控制命令,如telnet、net等
第八章. 错误处理和调试技巧
8.1 介绍常见的错误类型和处理方法
8.2 讲解如何使用调试工具和技巧
第九章. 脚本编写和调试实战
9.1 提供一些实际案例,让读者通过编写和调试脚本来加深理解和掌握技能
9.2 讲解如何测试和优化脚本性能
第十章. 其他高级主题和扩展
10.1 讲解其他高级主题,如正则表达式、批处理、交互式命令等
10.2 介绍如何扩展和定制cmd/dos脚本语言的功能和特性
第三章. 控制流程和条件语句3.1 介绍if、else、for、while等控制语句的用法3.2 讲解条件语句的语法和应用场景
介绍if、else、for、while等控制语句的用法
一、前言
CMD和DOS脚本语言编程是一种老旧但实用的编程语言,可以在Windows操作系统下快速编写、执行脚本,实现各种自动化任务。本文将详细介绍CMD和DOS脚本语言编程中常用的控制语句和命令,希望能够帮助读者快速掌握这些技能。
二、控制语句详解
- if…else语句
if语句用于判断条件是否成立,根据条件的不同执行不同的操作。if语句的基本语法为:
if 条件 (执行语句1
) else (执行语句2
)
其中,条件可以是各种比较运算符,例如等于(equ)、大于(gtr)、小于(lss)等。如果条件成立,则执行语句1;否则执行语句2。
以下是一个if语句的例子:
set num=10
if %num% equ 10 (echo num等于10
) else (echo num不等于10
)
输出结果为num等于10。
- for语句
for语句用于循环处理一组数据,例如文件列表、目录列表等。for语句的基本语法为:
for 变量 in (列表) do (执行语句
)
其中,变量是循环变量,列表是要循环处理的数据列表。执行语句是在每次循环中执行的语句。
以下是一个for语句的例子,循环输出1到10之间的数字:
for /l %%i in (1,1,10) do (echo %%i
)
其中/l表示循环的类型为数字,%%i表示循环变量。
- while语句
CMD和DOS脚本语言中没有原生的while语句,但是我们可以通过if语句和goto语句来实现while循环。以下是一个while循环的例子,循环输出1到10之间的数字:
set i=1
:while
if %i% leq 10 (echo %i%set /a i=%i%+1goto while
)
其中,leq表示小于等于,set /a用于计算表达式。
- goto语句
goto语句用于跳转到指定的标签处执行代码。以下是一个goto语句的例子:
set num=10
if %num% equ 10 (goto label
)
echo num不等于10
:label
echo num等于10
这段代码判断num是否等于10,如果等于则跳转到标签label处执行代码,否则输出num不等于10。
- call语句
call语句用于调用另一个批处理文件或者命令。以下是一个call语句的例子:
call another.bat
这段代码调用了一个名为another.bat的批处理文件。
三、常用命令详解
- echo命令
echo命令用于输出文本。例如:
echo Hello, world!
输出结果为Hello, world!。
echo命令还可以输出变量的值,例如:
set name=Tom
echo My name is %name%.
输出结果为My name is Tom.。
- dir命令
dir命令用于列出目录下的文件和子目录。例如:
dir C:\Windows
输出结果为C:\Windows目录下的文件和子目录。
- cd命令
cd命令用于改变当前目录。例如:
cd C:\Windows
将当前目录改变为C:\Windows。
- md命令
md命令用于创建新目录。例如:
md C:\test
创建一个名为test的目录。
- rd命令
rd命令用于删除目录。例如:
rd C:\test
删除名为test的目录。
- del命令
del命令用于删除文件。例如:
del C:\test\test.txt
删除C:\test目录下的test.txt文件。
- copy命令
copy命令用于复制文件。例如:
copy C:\test\test.txt D:\backup
将C:\test目录下的test.txt文件复制到D:\backup目录下。
- xcopy命令
xcopy命令用于复制目录和子目录。例如:
xcopy C:\test D:\backup /s /e
将C:\test目录及其子目录复制到D:\backup目录下。
- rename命令
rename命令用于重命名文件或目录。例如:
rename C:\test\old.txt new.txt
将C:\test目录下的old.txt文件重命名为new.txt。
- type命令
type命令用于显示文本文件的内容。例如:
type C:\test\test.txt
显示C:\test目录下的test.txt文件的内容。
四、总结
本文详细介绍了CMD和DOS脚本语言编程中常用的控制语句和命令,包括if、else、for、while等控制语句以及echo、dir、cd等命令。这些控制语句和命令可以帮助读者编写各种实用的脚本,实现自动化任务。希望读者通过本文的介绍和实践,能够掌握CMD和DOS脚本语言编程的基础知识和常用技能。
讲解条件语句的语法和应用场景
一、前言
CMD和DOS脚本语言编程是一种老旧但实用的编程语言,可以在Windows操作系统下快速编写、执行脚本,实现各种自动化任务。本文将详细介绍CMD和DOS脚本语言编程中常用的条件语句和相关命令,希望能够帮助读者快速掌握这些技能。
二、条件语句详解
条件语句用于根据某种条件来判断程序的执行流程,常用的条件语句有if、else、if-else、switch等。以下将详细介绍这些条件语句的语法和应用场景。
- if语句
if语句用于判断条件是否成立,根据条件的不同执行不同的操作。if语句的基本语法为:
if 条件 (执行语句1
) else (执行语句2
)
其中,条件可以是各种比较运算符,例如等于(equ)、大于(gtr)、小于(lss)等。如果条件成立,则执行语句1;否则执行语句2。
以下是一个if语句的例子:
set num=10
if %num% equ 10 (echo num等于10
) else (echo num不等于10
)
输出结果为num等于10。
- else语句
else语句用于在if语句中判断条件不成立时执行的操作。else语句的基本语法为:
if 条件 (执行语句1
) else (执行语句2
)
其中,条件可以是各种比较运算符,例如等于(equ)、大于(gtr)、小于(lss)等。如果条件成立,则执行语句1;否则执行语句2。
以下是一个else语句的例子:
set num=5
if %num% equ 10 (echo num等于10
) else (echo num不等于10
)
输出结果为num不等于10。
- if-else语句
if-else语句是if语句和else语句的结合,用于根据条件的不同执行不同的操作。if-else语句的基本语法为:
if 条件1 (执行语句1
) else if 条件2 (执行语句2
) else (执行语句3
)
其中,条件可以是各种比较运算符,例如等于(equ)、大于(gtr)、小于(lss)等。如果条件1成立,则执行语句1;否则判断条件2是否成立,如果成立则执行语句2;否则执行语句3。
以下是一个if-else语句的例子:
set num=8
if %num% equ 10 (echo num等于10
) else if %num% equ 8 (echo num等于8
) else (echo num既不等于10也不等于8
)
输出结果为num等于8。
- switch语句
switch语句用于根据不同的条件执行不同的操作,类似于if-else语句,但更加灵活。switch语句的基本语法为:
set var=条件
setlocal enabledelayedexpansion
for /f "tokens=1" %%a in ('echo %var%') do (set /a n=%%agoto !n!
)
:1执行语句1goto end
:2执行语句2goto end
...
:end
endlocal
其中,条件可以是数字或字符串。如果条件为数字,则需要使用enabledelayedexpansion开启延迟变量扩展,使用for循环和goto语句跳转到相应的标签执行操作。
以下是一个switch语句的例子:
setlocal enabledelayedexpansion
for /f "tokens=1" %%a in ('echo %num%') do (set /a n=%%agoto !n!
)
:1echo num是1goto end
:2echo num是2goto end
:3echo num是3goto end
:end
endlocal
输出结果为num是2。
三、常用命令
除了条件语句外,CMD和DOS脚本语言编程中还有许多常用的命令,例如echo、dir、cd等。以下将详细介绍这些命令的语法和应用场景。
- echo命令
echo命令用于在屏幕上显示文本。例如:
echo Hello, World!
输出结果为Hello, World!。
- dir命令
dir命令用于显示目录中的文件列表。例如:
dir C:\test
显示C:\test目录中的文件列表。
- cd命令
cd命令用于更改当前工作目录。例如:
cd C:\test
将当前工作目录更改为C:\test。
- md命令
md命令用于创建目录。例如:
md C:\test\new
在C:\test目录下创建名为new的子目录。
- rd命令
rd命令用于删除目录。例如:
rd C:\test
删除名为test的目录。
- del命令
del命令用于删除文件。例如:
del C:\test\test.txt
删除C:\test目录下的test.txt文件。
- copy命令
copy命令用于复制文件。例如:
copy C:\test\test.txt D:\backup
将C:\test目录下的test.txt文件复制到D:\backup目录下。
- xcopy命令
xcopy命令用于复制目录和子目录。例如:
xcopy C:\test D:\backup /s /e
将C:\test目录及其子目录复制到D:\backup目录下。
- rename命令
rename命令用于重命名文件或目录。例如:
rename C:\test\old.txt new.txt
将C:\test目录下的old.txt文件重命名为new.txt。
- attrib命令
attrib命令用于设置文件或目录的属性。例如:
attrib +h C:\test\test.txt
将C:\test目录下的test.txt文件设置为隐藏属性。
以上是CMD和DOS脚本语言编程中常用的命令,读者可以根据实际需要选择使用。
四、总结
本文详细介绍了CMD和DOS脚本语言编程中常用的条件语句和命令,希望能够帮助读者快速掌握这些技能。CMD和DOS脚本语言编程虽然已经是一种老旧的编程语言,但在Windows操作系统下仍然有着广泛的应用场景,特别是在自动化任务方面。如果读者需要进行Windows系统的自动化任务编程,CMD和DOS脚本语言编程是一种不错的选择。
相关文章:
CMD与DOS脚本编程【第三章】
预计更新 第一章. 简介和基础命令 1.1 介绍cmd/dos脚本语言的概念和基本语法 1.2 讲解常用的基础命令和参数,如echo、dir、cd等 第二章. 变量和运算符 2.1 讲解变量和常量的定义和使用方法 2.2 介绍不同类型的运算符和运算规则 第三章. 控制流程和条件语句 3.1 介…...
多激光雷达手眼标定
手眼标定方法已经有很多博客进行解析,但是都是针对机器人的手(夹爪)眼睛(相机)进行标定。例如: 标定学习笔记(四)-- 手眼标定详解 手眼标定_全面细致的推导过程 本文主要描述多激光…...
SQL执行过程
1. select 语句执行过程 一条 select 语句的执行过程如上图所示 1、建立连接 连接器会校验你输入的用户名和密码是否正确,如果错误会返回提示,如果正确,连接器会查询当前用户对于的权限。连接器的作用就是校验用户权限 2、查询缓存 MySQL…...
K8S 部署 seata
文章目录 创建 Deployment 文件创建 ConfigMap 文件创建 Service 文件运行访问高可用部署踩坑 官方文档 k8s中volumeMounts.subPath的巧妙用法 创建 Deployment 文件 deploymemt.yaml namespace:指定命名空间image:使用 1.5.2 版本的镜像ports…...
ClickHouse:(二)数据类型
1.整型 固定长度的整型分为:有符号和无符合整型 有符号整型无符号整型类型范围类型范围Int8 -128 : 127 UInt8 0 : 255 Int16 -32768 : 32767 UInt16 0 : 65535 Int32 -2147483648 : 2147483647 UInt32 0 : 4294967295 Int64 -9223372036854775808 : 9223372036854…...
项目文档(request页面代码逻辑)
项目文档 目录 项目文档 1. 封装请求基地址 代码 2. 添加请求拦截器并设置请求头 作用 代码部分 3. 添加响应拦截器 作用 代码 4. token过期问题处理 5. 无感刷新 作用 代码 6. refresh_token过期处理 解决方式 1. 封装请求基地址 在src目录下 放上一个专门写…...
后端传到前端的JSON数据大写变小写--2023
问题复现:1. 首先我先说一下,我用了lombok,事实证明和这个也有关系 前端这里写的也是按照驼峰命名来写的 控制台打印出来的数据 后台打印出来的数据 解决方法: 1. 重写get/set方法 因为我在实体类上标注了Data注解 重写get/se…...
学习【菜鸟教程】【C++ 类 对象】【C++ 类的静态成员】
链接 1. 教程 可以使用 static 关键字来把类成员定义为静态的。当我们声明类的成员为静态时,这意味着无论创建多少个类的对象,静态成员都只有一个副本。 静态成员在类的所有对象中是共享的。如果不存在其他的初始化语句,在创建第一个对象时…...
计算机四大件笔记
啊~数据库、操作系统、计算机网络、Linux start 操作系统 并发和并行 并发是同一时间段内发生了多个事情,多任务之间互相抢占资源。 并行是在同一时间点内发生了多个事情,多任务之间不互相抢占资源,只有多CPU的情况下才能并行。 例如&a…...
【vue上传文件——hash】
vue上传文件 要求:只能上传视频,先计算文件的hash值,hash值一样则不需要上传,不一样在执行上传 分析:因为el-upload没有找到合适的属性,本次用的是原生的input的type属性为file上传 代码: html: 通过点击选取文件按钮调用input上传 js 第一步:点击上传文件先效验是否…...
【OpenCV DNN】Flask 视频监控目标检测教程 01
欢迎关注『OpenCV DNN Youcans』系列,持续更新中 【OpenCV DNN】Flask 视频监控目标检测教程 01 【OpenCV DNN】Flask 视频监控目标检测教程 01 1. 面向Python程序的Web框架2. Flask 框架的安装与使用2.1 Flask 安装2.2 Flask 框架例程2.3 绑定IP和端口2.4 Flask路…...
(转载)从0开始学matlab(第10天)—自顶向下的编程思想
在前面的内容中,我们开发了几个完全运转的 MATLAB 程序。但是这些程序都十分简单,包括一系列的 MATLAB 语句,这些语句按照固定的顺序一个接一个的执行。像这样的程序我们称之顺序结构程序。它首先读取输入,然后运算得到所需结果&a…...
mapreduce技术
要实现操作hbase数据表首先要了解它的原理: 1,Hbase原理篇 HBASE就是基于Hadoop的一个开源项目,也是对Google的BigTable的一种实现。 BigTable最浅显来看就是一张很大的表,表的属性可以根据需求去动态增加,但是又没有表与表之间…...
AI智慧安监视频平台EasyCVR视频出现不能播放的情况排查与解决
EasyCVR基于云边端协同,可支持海量视频的轻量化接入与汇聚管理。平台兼容性强、拓展度高,可提供视频监控直播、视频轮播、视频录像、云存储、回放与检索、智能告警、服务器集群、语音对讲、云台控制、电子地图、H.265自动转码、平台级联等功能。 有用户反…...
嵌入式学习之Linux驱动(第九期_设备模型_教程更新了)_基于RK3568
驱动视频全新升级,并持续更新~更全,思路更科学,入门更简单。 迅为基于iTOP-RK3568开发板进行讲解,本次更新内容为第九期,主要讲解设备模型,共计29讲。视频选集 0.课程规划 06:35 1.抛砖引玉-设备模型…...
LeetCode662.设计循环队列||4种方法实现
目录 题目 思路1(链表) 代码 思路2(数组) 代码 题目 题目要求的队列需要实现的功能有 ①Creat---设置队列长度 ②Front---获取队列头 ③Rear---获取队列尾 ④en----插入元素 ⑤de---删除元素 ⑥empty---判空 ⑦full---判满 思路1(链表) 🔍普通队列长度没有限制&…...
人工智能专栏第十二讲——依存解析
依存句法分析是一种自然语言处理技术,其目的是识别句子中单词之间的依赖关系。在自然语言处理中,依存句法分析是一项非常重要的任务,因为它可以帮助我们理解句子的语义结构,从而更好地进行文本分析、信息抽取、语音识别等任务。 …...
nest日志包pino、winston配置-懒人的折腾
nest日志 三种node服务端日志选型 winstonpinolog4js 2023年5月23日 看star数:winston > pino > log4js 使用体验: pino 格式简洁,速度快,支持输入日志到任意数据库,日志暂无自动清理(可能是我…...
一文看懂增值税发票识别OCR:从技术原理到 API Java 示例代码接入
引言 增值税发票识别OCR API是一项重要的技术创新,它在如今信息化的商业环境中发挥着重要作用。通过利用该API,企业和机构能够实现增值税发票的自动化识别和信息提取,从而在财务管理、票据核对、报销流程等方面带来许多好处。 本文将详细介…...
消息队列对比
目录 什么是消息队列 常用的消息队列工具对比 1 、ActiveMQ 2 、RabbitMQ 3、Kafka 4、 RocketMQ 什么是消息队列 消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列࿰…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...
iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘
美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...
Leetcode 3576. Transform Array to All Equal Elements
Leetcode 3576. Transform Array to All Equal Elements 1. 解题思路2. 代码实现 题目链接:3576. Transform Array to All Equal Elements 1. 解题思路 这一题思路上就是分别考察一下是否能将其转化为全1或者全-1数组即可。 至于每一种情况是否可以达到…...
从零实现富文本编辑器#5-编辑器选区模型的状态结构表达
先前我们总结了浏览器选区模型的交互策略,并且实现了基本的选区操作,还调研了自绘选区的实现。那么相对的,我们还需要设计编辑器的选区表达,也可以称为模型选区。编辑器中应用变更时的操作范围,就是以模型选区为基准来…...
Python:操作 Excel 折叠
💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
Qt Http Server模块功能及架构
Qt Http Server 是 Qt 6.0 中引入的一个新模块,它提供了一个轻量级的 HTTP 服务器实现,主要用于构建基于 HTTP 的应用程序和服务。 功能介绍: 主要功能 HTTP服务器功能: 支持 HTTP/1.1 协议 简单的请求/响应处理模型 支持 GET…...
从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Map相关知识
数据结构 二叉树 二叉树,顾名思义,每个节点最多有两个“叉”,也就是两个子节点,分别是左子 节点和右子节点。不过,二叉树并不要求每个节点都有两个子节点,有的节点只 有左子节点,有的节点只有…...
Mobile ALOHA全身模仿学习
一、题目 Mobile ALOHA:通过低成本全身远程操作学习双手移动操作 传统模仿学习(Imitation Learning)缺点:聚焦与桌面操作,缺乏通用任务所需的移动性和灵活性 本论文优点:(1)在ALOHA…...
