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 什么是消息队列 消息队列是分布式应用间交换信息的重要组件,消息队列可驻留在内存或磁盘上, 队列可以存储消息直到它们被应用程序读走。通过消息队列࿰…...
后进先出(LIFO)详解
LIFO 是 Last In, First Out 的缩写,中文译为后进先出。这是一种数据结构的工作原则,类似于一摞盘子或一叠书本: 最后放进去的元素最先出来 -想象往筒状容器里放盘子: (1)你放进的最后一个盘子(…...
第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
现代密码学 | 椭圆曲线密码学—附py代码
Elliptic Curve Cryptography 椭圆曲线密码学(ECC)是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础,例如椭圆曲线数字签…...
uniapp微信小程序视频实时流+pc端预览方案
方案类型技术实现是否免费优点缺点适用场景延迟范围开发复杂度WebSocket图片帧定时拍照Base64传输✅ 完全免费无需服务器 纯前端实现高延迟高流量 帧率极低个人demo测试 超低频监控500ms-2s⭐⭐RTMP推流TRTC/即构SDK推流❌ 付费方案 (部分有免费额度&#x…...
Android Bitmap治理全解析:从加载优化到泄漏防控的全生命周期管理
引言 Bitmap(位图)是Android应用内存占用的“头号杀手”。一张1080P(1920x1080)的图片以ARGB_8888格式加载时,内存占用高达8MB(192010804字节)。据统计,超过60%的应用OOM崩溃与Bitm…...
JAVA后端开发——多租户
数据隔离是多租户系统中的核心概念,确保一个租户(在这个系统中可能是一个公司或一个独立的客户)的数据对其他租户是不可见的。在 RuoYi 框架(您当前项目所使用的基础框架)中,这通常是通过在数据表中增加一个…...
SiFli 52把Imagie图片,Font字体资源放在指定位置,编译成指定img.bin和font.bin的问题
分区配置 (ptab.json) img 属性介绍: img 属性指定分区存放的 image 名称,指定的 image 名称必须是当前工程生成的 binary 。 如果 binary 有多个文件,则以 proj_name:binary_name 格式指定文件名, proj_name 为工程 名&…...
