当前位置: 首页 > news >正文

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语句的基本要素:

  1. for、in和do是for语句的关键字;
  2. %%i是for语句中对形式变量的引用;%%I和%%i会被认为不是同一个变量
  3. in之后,do之前的括号不能省略;
  4. 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批处理脚本&#xff0c;就是将一系列DOS命令按照一定顺序排列而形成的集合&#xff0c;运行在windows命令行环境上。这个文件的每一行都是一条DOS命令 在命令提示下键入批处理文件的名称&#xff0c;或者双击该批处理文件&#xff0c;系统就会调用Cmd.…...

【星戈瑞】Sulfo-Cyanine5 mal红色荧光Cy5-maleimide

Sulfo-Cyanine5 mal是一种具有强荧光信号的染料&#xff0c;主要应用于生物荧光成像领域。它的化学式为C38H43KN4O9S2&#xff0c;分子量为803.00。这种染料具有良好的水溶性&#xff0c;可在水溶液中稳定存在。它的光学特性包括吸收峰位于646 nm和发射峰位于662 nm&#xff0c…...

Dcip的学习1-计算器

文章目录 前言一、配置安装环境1.1 网址1.2 再次打开需要进行的操作1.3 NodeJS控制台的操作1.4 出现的页面 二、Dcip生成计算器2.1 软件的基本单位 - Unitform中添加内容 2.2 OnleftChange(); 前言 只是为方便学习&#xff0c;不做其他用途&#xff0c; 一、配置安装环境 1.1 …...

ChatGPT使用9大技巧详解

目录 技巧1:To Do and Not To Do 技巧2:增加示例 技巧3:使用引导词,引导模型输出特定内容...

随机变量X,分布函数X~F(x)的理解。

1.随机变量X 1.通常认知的"x"与随机变量X 我们通常意义上的 x 是自变量&#xff0c;y f(x) 中的自变量。 但是 X 更多意义是 对应法则 " f " &#xff0c;X完整写法是 X(ω) ω ∈ Ω。 X这个对应法则&#xff0c;可以将样本点映射到实数轴上。 那么X这…...

11.构造器的查询.分块.聚合

学习要点&#xff1a; 1.构造器查询 2.分块.聚合 本节课我们来开始学习数据库的构造器查询以及分块和聚合查询。 一&#xff0e;构造器查询 1. table()方法引入相应的表&#xff0c;get()方法可以查询当前表的所有数据&#xff1b; //获取全部结果 $users DB::table(users)-&g…...

微服务保护——Sentinel

初识Sentinel 雪崩问题 微服务调用链路中的某个服务故障&#xff0c;引起整个链路中的所有微服务都不可用&#xff0c;这就是雪崩。 解决雪崩问题的常见方式有四种: 超时处理:设定超时时间&#xff0c;请求超过一定时间没有响应就返回错误信息&#xff0c;不会无休止等待舱壁…...

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 数据库基础知识 为什么要使用数据库&#xff1f; 什么是MySQL&#xff1f; 数据库的三大范式是什么&#xff1f; MySQL有关权限的表…...

Vscode C++环境配置

多文件编译 打开设置搜索coderunner 找到Executor Map 加入-I目录名 目录名/*.cpp 调试 点击调试以后会产生tasks.json文件&#xff0c;加入链接文件和库文件...

matlab小波去噪

本文将为您介绍如何利用MATLAB进行小波去噪处理&#xff0c;并应用于实际数据。小波去噪是一种通过对数据进行小波分解和重构的方法&#xff0c;有效地去除信号中的噪声&#xff0c;提高信号质量。该方法不仅广泛应用于信号处理、图像处理等领域&#xff0c;在实际生产和科研中…...

为什么要采用全网营销策略?全网营销有何优势?

现在市场上有很多全网营销公司&#xff0c;其实很多企业的经理人疑惑全网营销是要干什么&#xff1f;这些公司能干什么&#xff1f;这里小马识途营销顾问给大家做一个整体的解读。 全网营销&#xff0c;概括地说就是在整个互联网&#xff0c;利用各类互联网平台和工具对产品和服…...

prometheus实战之四:alertmanager的部署和配置

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 本篇概览 本文是《prometheus实战》系列的第四篇&#xff0c;在《prometheus实战之三&#xff1a;告警规则》中曾经提到过&#xff0c;整个告警功能分为规则和…...

【Python】glob 包的介绍和使用

glob 是 Python 标准库中的一个模块&#xff0c;它提供了一种查找符合特定模式的路径名的方法&#xff0c;类似于命令行中的 glob 命令。glob 模块用于读取指定路径下的所有符合特定规律的文件名&#xff0c;非常适合用于读取文件夹中的文件列表和操作符合特定规律文件列表。 …...

剑指offer(C++)-JZ48:最长不含重复字符的子字符串(算法-动态规划)

作者&#xff1a;翟天保Steven 版权声明&#xff1a;著作权归作者所有&#xff0c;商业转载请联系作者获得授权&#xff0c;非商业转载请注明出处 题目描述&#xff1a; 请从字符串中找出一个最长的不包含重复字符的子字符串&#xff0c;计算该最长子字符串的长度。 数据范围…...

两阶段最小二乘法

两阶段最小二乘法 文章目录 两阶段最小二乘法[toc]1、ivreg包介绍2 、R语言实现 1、ivreg包介绍 R语言计量包ivreg用以解决线性回归模型的内生性问题。 描述&#xff1a;工具变量估计的线性模型通过两阶段最小二乘(2SLS) 回归或通过稳健回归M估计(2SM)或MM估计(2SMM)。主要的…...

ArcMap创建格网统计图

目录 前言 一、人口数据获取 来源一&#xff1a;中科院地理所公开数据集 来源二&#xff1a;WorldPop数据集 二、人口格网统计步骤 1.创建渔网 2.人口数据处理 2.1 栅格转点 2.2 空间插值——处理人口缺失数据 2.3 空间连接——渔网人口统计 总结 前言 在科研中&am…...

[VAE] Auto-Encoding Variational Bayes

直接看paper看得云里雾里&#xff0c;李沐视频一语道破天机&#xff08;建议从30min左右开始看GAN到Diffusion的串讲&#xff09;。VAE的核心思路就是下面&#xff1a; 做生成&#xff0c;其实就是从随机向量&#xff08;z&#xff09;到目标图像&#xff08;x&#xff09;的过…...

《程序员面试金典(第6版)》面试题 16.19. 水域大小(深度优先搜索,类似棋盘类问题,八皇后的简化版本,C++)

题目描述 你有一个用于表示一片土地的整数矩阵land&#xff0c;该矩阵中每个点的值代表对应地点的海拔高度。若值为0则表示水域。由垂直、水平或对角连接的水域为池塘。池塘的大小是指相连接的水域的个数。编写一个方法来计算矩阵中所有池塘的大小&#xff0c;返回值需要从小到…...

Spring 注解之@RestController与@Controller的区别

目录 1&#xff1a;介绍 2&#xff1a;区别 3&#xff1a;总体来说 4&#xff1a;社区地址 1&#xff1a;介绍 RestController 和 Controller 是 Spring MVC 中常用的两个注解&#xff0c;它们都可以用于定义一个控制器类。 2&#xff1a;区别 返回值类型不同&#xff1a;…...

Java中的泛型是什么?如何使用泛型

Java中的泛型是指在定义类、接口和方法时使用类型参数&#xff0c;以使得这些类、接口和方法可以操作多种类型的数据&#xff0c;从而提高代码的重用性和安全性。Java的泛型机制是从JDK5开始引入的&#xff0c;它使得Java程序员能够编写更加通用和类型安全的代码。 什么是泛型…...

docker详细操作--未完待续

docker介绍 docker官网: Docker&#xff1a;加速容器应用程序开发 harbor官网&#xff1a;Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台&#xff0c;用于将应用程序及其依赖项&#xff08;如库、运行时环…...

51c自动驾驶~合集58

我自己的原文哦~ https://blog.51cto.com/whaosoft/13967107 #CCA-Attention 全局池化局部保留&#xff0c;CCA-Attention为LLM长文本建模带来突破性进展 琶洲实验室、华南理工大学联合推出关键上下文感知注意力机制&#xff08;CCA-Attention&#xff09;&#xff0c;…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

SCAU期末笔记 - 数据分析与数据挖掘题库解析

这门怎么题库答案不全啊日 来简单学一下子来 一、选择题&#xff08;可多选&#xff09; 将原始数据进行集成、变换、维度规约、数值规约是在以下哪个步骤的任务?(C) A. 频繁模式挖掘 B.分类和预测 C.数据预处理 D.数据流挖掘 A. 频繁模式挖掘&#xff1a;专注于发现数据中…...

LeetCode - 394. 字符串解码

题目 394. 字符串解码 - 力扣&#xff08;LeetCode&#xff09; 思路 使用两个栈&#xff1a;一个存储重复次数&#xff0c;一个存储字符串 遍历输入字符串&#xff1a; 数字处理&#xff1a;遇到数字时&#xff0c;累积计算重复次数左括号处理&#xff1a;保存当前状态&a…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

OkHttp 中实现断点续传 demo

在 OkHttp 中实现断点续传主要通过以下步骤完成&#xff0c;核心是利用 HTTP 协议的 Range 请求头指定下载范围&#xff1a; 实现原理 Range 请求头&#xff1a;向服务器请求文件的特定字节范围&#xff08;如 Range: bytes1024-&#xff09; 本地文件记录&#xff1a;保存已…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...