bat脚本、dos命令
bat脚本
bat脚本就是DOS批处理脚本,就是将一系列DOS命令按照一定顺序排列而形成的集合,运行在windows命令行环境上。这个文件的每一行都是一条DOS命令
在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe来运行该文件。
bat入门案例
cmd.exe
在windows环境下,命令行程序为cmd.exe。打开方式。快捷键[ctrl+r]——》键入cmd

接着,随便输入“www”回车,如果提示 “.......不是内部或外部命令,也不是可运行的程序或批处理文件。”
这是因为在环境变量Path里面没有添加此程序的执行文件,我们只有把程序的bin目录添加到Path变量里面就可以了
例如:右键“我的电脑-属性-高级-环境变量-path,
然后在其变量值后面添加“;程序安装目录/bin”(注:在添加目录前必须添加“;”号,而且此分号必须是英文格式的)。
注释、echo和pause
rem 注释符,也可以用两个冒号代替(::)
:: 注释内容
echo 后加内容即输出该内容
会暂停批处理的执行并在屏幕上显示Press any key to continue…的提示,等待用户按任意键后继续
创建文件my.bat ,内容如下
:: 输出hello world echo "hello world!" pause不加pause就会:双击运行批处理文件(xxx.bat),闪一下就消失
是因为批处理运bat行完成的时间很快,需要在运行完成后给添加暂停的命令
效果
@echo off(关闭所有回显功能)
my.bat ,内容改变,在最开始加上@echo off,

双击执行该bat文件,效果如下。就没有那些乱七八糟的 盘符路径命令本身呀。。。

提示:pause 改为 pause>nul
可以不显示“请按任意键继续. . .”这些字,nul相当于空文件,把这些文字隐去了。
窗口color与titile
- title:设置控制台bat的标题
- color:设置bat显示的背景和前景色

试着改动一下my.bat
color 02 0代表背景色,a代表字体颜色
@echo off :: 设置窗口标题和颜色 title "bat批处理学习" color 0a echo "hello world!" pause双击执行该bat文件,效果如下
如果中文乱码,那么把bat文件的编辑改为ANSI格式
常用系统变量
%CD% 获取当前目录[盘符 + 路径]
%PATH% 获取命令搜索路径
%DATE% 获取当前日期。
%TIME% 获得系统的当前时间
%RANDOM% 获取 0 和 32767 之间的任意十进制数字。
%ERRORLEVEL% 获取上一命令执行结果码
举例,在cmd窗口中输入 echo %CD%
系统变量在bat文件中使用,如:打印当前目录和系统临时文件夹目录。
修改bat文件如下:
@echo off :: 设置窗口标题和颜色 title "bat批处理学习" color 0a echo "当前目录:"%CD% echo "系统临时文件夹目录:"%TEMP% pause
--------------------
假如你和我一样,也是乱码成这样。。。
那么把bat文件的编辑改为ANSI格式就好了
set命令
set变量:变量设置值
最普通的set命令
@echo off title "bat批处理学习" color 0a :: set命令测试 set name=小羽毛 :: 输出变量name的值 echo %name% for %%i in (*.bat) do echo %%i pause>nul双击bat文件,执行结果
set /p命令 ,让用户自己输入变量值
@echo off title "bat批处理学习" color 0a :: set命令测试 set /p num=请输入一个数字: echo 你输入的是:%num% pause>nul双击bat文件,会等待输入变量
输入姓名之后,回车
bat基础运算
算术运算
关系运算
逻辑运算
&& 短路运算
||
bat重定向运算
Handle句柄
- 句柄是Windows程序中的概念,本质是一个4字节无符号整数值,用来标示不同实例。
- 句柄是系统所管理的引用标识,该标识可以被系统重新定位到一个内存地址上。
在进程的地址空间中设一张表,表里头专门保存一些编号和由这个编号对应一个地址,而由那个地址去引用实际的对象,这个编号跟那个地址在数值上没有任何规律性的联系,纯粹是个映射而已。
在Windows系统中,这个编号就叫做"句柄"。
重定向运算>和>>和<
重定向:负责将指定命令或语句所产生的输入输出请求由缺省的“控制台”转交给其它的“设备”来完成,它的启动标志是“重定向符号”(包括“>,>>,<”三个)出现在句中。
| > | 将命令输出写入到文件或设备(例如打印机)中,而不是写在命令提示符窗口中。 |
| < | 从文件中而不是从键盘中读入命令输入。 |
| >> | 将命令输出追加到文件末尾而不删除文件中的信息。 |
dir>dirlist.txt
如果 dirlist.txt 不存在,cmd.exe 将创建该文件。如果 cirlist.txt 存在,cmd.exe 将使用 dir命令的输出替换文件中的信息。
@echo off :: if-else结构学习 title "bat批处理学习" color 0a :: 设置变量v dir>dirlist.txt type dirlist.txt pause使用type是查看文件内容的
管道运算|
| 从一个命令中读取输出并将其写入另一个命令的输入中。也称作管道。
bat流程控制
批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。
goto 命令
流程跳转的含义是:改变默认的执行顺序,强制跳转到指定的位置执行特定的程序块。
goto [lable] 跳转到要执行的标签,在批处理中允许以“:XXX”来构建一个标号,然后用GOTO XXX跳转到标号:XXX处,然后执行标号后的命令
注意:
- 标签名必须是常量,不能是变量
- 标签必须单独一行,并且以冒号打头。
双击bat文件,结果如下:
if 命令
1.用“==” 判断字符串相等。
@echo off title "bat批处理学习" color 0a set name=李四 ::%name%是否等于"李四" if "%name%"=="李四" (echo 你是李四) else echo 你不是李四 pause>nul
2、判断数值相等。
@echo off title "bat批处理学习" color 0a set num1=15 set num2=18 :: 比较俩个数大于、等于、小于 if %num1% gtr %num2% echo %num1%大于%num2% if %num1% EQU %num2% echo %num1%等于%num2% if %num1% LSS %num2% echo %num1%小于%num2% pause>nul注意:比较运算符分为以下几种:
EQU - 等于
NEQ - 不等于
LSS - 小于
LEQ - 小于或等于
GTR - 大于
GEQ - 大于或等于
3、结合errorlevel使用
环境变量%ERRORLEVEL%包含上次执行的程序或脚本的返回码。会在执行成功时返回零,或者在执行失败时返回非零
@echo off title "bat批处理学习" color 0a net user if %ERRORLEVEL% EQU 0 echo net user 命令执行成功 pause>nul
for 命令入门使用
在批处理文件中:for %%i in (command1) do command2
for语句依次提取command1中的每一个元素,把它的值赋予形式变量i,带到do后的command2中参与命令的执行;
for语句的基本要素:
- for、in和do是for语句的关键字;
- %%i是for语句中对形式变量的引用;%%I和%%i会被认为不是同一个变量
- in之后,do之前的括号不能省略;
- command1表示字符串或变量,command2表示字符串、变量或命令语句;
for循环,后面的多个元素逗号分割(默认以空格,;三种符号分隔开)
@echo off title "bat批处理学习" color 0a :: for命令测试 for %%i in (www,baidu,com) do echo %%i pause>nul执行结果
*.*,显示当前目录下所有的文件名
@echo off title "bat批处理学习" color 0a :: for命令测试 echo 显示当前目录下所有的文件名 for %%i in (*.*) do echo %%i pause>nul双击bat文件,执行结果
*.bat,显示当前目录下以.bat结尾的文件
@echo off title "bat批处理学习" color 0a :: for命令测试 echo 显示当前目录下以.bat结尾的文件 for %%i in (*.bat) do echo %%i pause>nul双击bat文件,执行结果
for 命令参数扩展
start命令
启动单独的“命令提示符”窗口来运行指定程序或命令。
用法:可以打开盘符、文件、文件夹、网址、程序...
start打开盘符
@echo off title "bat批处理学习" color 0a :: set命令测试 start e: pause>nul打开时,可以指定最大化、最小化
------------------------
start打开文件夹
:: 最小化方式打开文件夹 start /min e:\PR最小化,就是可以在任务栏找到啦
------------------------
start打开文件
:: 打开文件 start c:\aow_drv.log---------------------
start 打开网址
:: 使用默认浏览器打开网址 start https://mp.csdn.net---------------------
start 打开应用程序
:: 打开应用程序 start D:\tools\IntelliJ IDEA 2019.2.2\bin\idea64.exe额,会报错。是因为路径中有空格
可以这么用双引号,这么改
:: 打开应用程序 start D:\tools\"IntelliJ IDEA 2019.2.2"\bin\idea64.exe
call命令
Dos命令
文件夹和文件
目录的查看、创建和删除
mkdir [目录名] 新建目录
如:
mkdir test
创建多级目录?
rmdir [目录名] 目录删除
如:删除刚刚新建的test目录
rmdir test
目录切换cd
只切换盘符,此时不需要cd ,直接"d:"字母大小写都可以。
格式:cd+空格+要切换的目录
结果就很尴尬了,,,为啥没切换成功呢?
方法一:因为要先切换盘符啊
方法二(推荐):
当然也可以在cd 和路径中间 增加一个'/d'
windows下路径分为:绝对路径和相对路径
绝对路径:在windows操作系统中凡是路径起点是盘符的都是绝对路径
相对路径:相对路径是相对于当前位置而言,以当前所在的位置作为起点。
切换到上级目录:cd ..
切换到根目录:cd \
type查看文件内容
其他
ping 命令
telnet 命令
相关文章:
bat脚本、dos命令
bat脚本 bat脚本就是DOS批处理脚本,就是将一系列DOS命令按照一定顺序排列而形成的集合,运行在windows命令行环境上。这个文件的每一行都是一条DOS命令 在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.…...
【星戈瑞】Sulfo-Cyanine5 mal红色荧光Cy5-maleimide
Sulfo-Cyanine5 mal是一种具有强荧光信号的染料,主要应用于生物荧光成像领域。它的化学式为C38H43KN4O9S2,分子量为803.00。这种染料具有良好的水溶性,可在水溶液中稳定存在。它的光学特性包括吸收峰位于646 nm和发射峰位于662 nm,…...
Dcip的学习1-计算器
文章目录 前言一、配置安装环境1.1 网址1.2 再次打开需要进行的操作1.3 NodeJS控制台的操作1.4 出现的页面 二、Dcip生成计算器2.1 软件的基本单位 - Unitform中添加内容 2.2 OnleftChange(); 前言 只是为方便学习,不做其他用途, 一、配置安装环境 1.1 …...
ChatGPT使用9大技巧详解
目录 技巧1:To Do and Not To Do 技巧2:增加示例 技巧3:使用引导词,引导模型输出特定内容...
随机变量X,分布函数X~F(x)的理解。
1.随机变量X 1.通常认知的"x"与随机变量X 我们通常意义上的 x 是自变量,y f(x) 中的自变量。 但是 X 更多意义是 对应法则 " f " ,X完整写法是 X(ω) ω ∈ Ω。 X这个对应法则,可以将样本点映射到实数轴上。 那么X这…...
11.构造器的查询.分块.聚合
学习要点: 1.构造器查询 2.分块.聚合 本节课我们来开始学习数据库的构造器查询以及分块和聚合查询。 一.构造器查询 1. table()方法引入相应的表,get()方法可以查询当前表的所有数据; //获取全部结果 $users DB::table(users)-&g…...
微服务保护——Sentinel
初识Sentinel 雪崩问题 微服务调用链路中的某个服务故障,引起整个链路中的所有微服务都不可用,这就是雪崩。 解决雪崩问题的常见方式有四种: 超时处理:设定超时时间,请求超过一定时间没有响应就返回错误信息,不会无休止等待舱壁…...
MySQL面试整理
https://houchen-study.oss-cn-hangzhou.aliyuncs.com/%E9%9D%A2%E8%AF%95/MySQL/MySQL%E9%9D%A2%E8%AF%95%E5%A4%A7%E5%85%A8%281%29.pdf 数据库基础知识 为什么要使用数据库? 什么是MySQL? 数据库的三大范式是什么? MySQL有关权限的表…...
Vscode C++环境配置
多文件编译 打开设置搜索coderunner 找到Executor Map 加入-I目录名 目录名/*.cpp 调试 点击调试以后会产生tasks.json文件,加入链接文件和库文件...
matlab小波去噪
本文将为您介绍如何利用MATLAB进行小波去噪处理,并应用于实际数据。小波去噪是一种通过对数据进行小波分解和重构的方法,有效地去除信号中的噪声,提高信号质量。该方法不仅广泛应用于信号处理、图像处理等领域,在实际生产和科研中…...
为什么要采用全网营销策略?全网营销有何优势?
现在市场上有很多全网营销公司,其实很多企业的经理人疑惑全网营销是要干什么?这些公司能干什么?这里小马识途营销顾问给大家做一个整体的解读。 全网营销,概括地说就是在整个互联网,利用各类互联网平台和工具对产品和服…...
prometheus实战之四:alertmanager的部署和配置
欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos 本篇概览 本文是《prometheus实战》系列的第四篇,在《prometheus实战之三:告警规则》中曾经提到过,整个告警功能分为规则和…...
【Python】glob 包的介绍和使用
glob 是 Python 标准库中的一个模块,它提供了一种查找符合特定模式的路径名的方法,类似于命令行中的 glob 命令。glob 模块用于读取指定路径下的所有符合特定规律的文件名,非常适合用于读取文件夹中的文件列表和操作符合特定规律文件列表。 …...
剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)
作者:翟天保Steven 版权声明:著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处 题目描述: 请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 数据范围…...
两阶段最小二乘法
两阶段最小二乘法 文章目录 两阶段最小二乘法[toc]1、ivreg包介绍2 、R语言实现 1、ivreg包介绍 R语言计量包ivreg用以解决线性回归模型的内生性问题。 描述:工具变量估计的线性模型通过两阶段最小二乘(2SLS) 回归或通过稳健回归M估计(2SM)或MM估计(2SMM)。主要的…...
ArcMap创建格网统计图
目录 前言 一、人口数据获取 来源一:中科院地理所公开数据集 来源二:WorldPop数据集 二、人口格网统计步骤 1.创建渔网 2.人口数据处理 2.1 栅格转点 2.2 空间插值——处理人口缺失数据 2.3 空间连接——渔网人口统计 总结 前言 在科研中&am…...
[VAE] Auto-Encoding Variational Bayes
直接看paper看得云里雾里,李沐视频一语道破天机(建议从30min左右开始看GAN到Diffusion的串讲)。VAE的核心思路就是下面: 做生成,其实就是从随机向量(z)到目标图像(x)的过…...
《程序员面试金典(第6版)》面试题 16.19. 水域大小(深度优先搜索,类似棋盘类问题,八皇后的简化版本,C++)
题目描述 你有一个用于表示一片土地的整数矩阵land,该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小,返回值需要从小到…...
Spring 注解之@RestController与@Controller的区别
目录 1:介绍 2:区别 3:总体来说 4:社区地址 1:介绍 RestController 和 Controller 是 Spring MVC 中常用的两个注解,它们都可以用于定义一个控制器类。 2:区别 返回值类型不同:…...
Java中的泛型是什么?如何使用泛型
Java中的泛型是指在定义类、接口和方法时使用类型参数,以使得这些类、接口和方法可以操作多种类型的数据,从而提高代码的重用性和安全性。Java的泛型机制是从JDK5开始引入的,它使得Java程序员能够编写更加通用和类型安全的代码。 什么是泛型…...
未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?
编辑:陈萍萍的公主一点人工一点智能 未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战,在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
从WWDC看苹果产品发展的规律
WWDC 是苹果公司一年一度面向全球开发者的盛会,其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具,对过去十年 WWDC 主题演讲内容进行了系统化分析,形成了这份…...
三维GIS开发cesium智慧地铁教程(5)Cesium相机控制
一、环境搭建 <script src"../cesium1.99/Build/Cesium/Cesium.js"></script> <link rel"stylesheet" href"../cesium1.99/Build/Cesium/Widgets/widgets.css"> 关键配置点: 路径验证:确保相对路径.…...
MySQL 隔离级别:脏读、幻读及不可重复读的原理与示例
一、MySQL 隔离级别 MySQL 提供了四种隔离级别,用于控制事务之间的并发访问以及数据的可见性,不同隔离级别对脏读、幻读、不可重复读这几种并发数据问题有着不同的处理方式,具体如下: 隔离级别脏读不可重复读幻读性能特点及锁机制读未提交(READ UNCOMMITTED)允许出现允许…...
Nuxt.js 中的路由配置详解
Nuxt.js 通过其内置的路由系统简化了应用的路由配置,使得开发者可以轻松地管理页面导航和 URL 结构。路由配置主要涉及页面组件的组织、动态路由的设置以及路由元信息的配置。 自动路由生成 Nuxt.js 会根据 pages 目录下的文件结构自动生成路由配置。每个文件都会对…...
Psychopy音频的使用
Psychopy音频的使用 本文主要解决以下问题: 指定音频引擎与设备;播放音频文件 本文所使用的环境: Python3.10 numpy2.2.6 psychopy2025.1.1 psychtoolbox3.0.19.14 一、音频配置 Psychopy文档链接为Sound - for audio playback — Psy…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
多模态大语言模型arxiv论文略读(108)
CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题:CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者:Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

这是因为在环境变量Path里面没有添加此程序的执行文件,我们只有把程序的bin目录添加到Path变量里面就可以了





















