windows的bat文件(学习笔记)

简介

通过windows的cmd执行的批处理,扩展名可以是.bat或.cmd(类似linux的shell脚本)

所有语句符号不区分大小写

帮助提示信息:命令 /? 

1 基本语法

(1) 注释:rem 注释文本不执行

(2) 关闭盘符输出:@echo off  // 不输出 默认的【c:/xxx/xx>】信息

(3) 输入信息:set /p 变量名=[提示信息]

(4) 输出信息:echo 文本信息或变量 // echo原样输出文本包括双引号,或%包裹的变量

(5) 结束符:pause[>nul] // 不写pause程序结束会直接关闭窗口,不加>nul最后会输出【请按任意键继续】

2 变量与运算符

2.1 变量

变量不区分类型,没有数值型字符型区分。

(1) 定义变量:set 变量名=值 //变量名不存在则为定义值。变量名=值,不能有空格

(2) 修改变量:set 变量名=值 //变量名存在则为修改值。变量名=值,不能有空格

(3) 删除变量:set 变量名= //不给任何值则为删除,

(4) 使用变量:%变量名%

(5) 查看变量:set // 查看变量列表

2.2 算术运算符

加减乘除余(+-*/%)

(1) 加算:set /a 变量=值+值

(2) 减算:set /a 变量=值-值

(3) 乘算:set /a 变量=值*值

(4) 除算:set /a 变量=值/值

(5) 余算:set /a 变量=值%%值 // 余算%需要写2个做转义处理

注释:算术表达式遵循先乘除后加减原则,可以加小括号进行优先计算

2.3 赋值运算符

 =+=-=/=%%=

注释:余算需要双%做转义

2.4 逻辑运算符

(1) 并且:&&  // 条件1 && 条件2  (1不满足,不执行2)

(2) 并且:&  // 条件1 & 条件2  (1不满足,也执行2)

(3) 或者:||  // 条件1 || 条件2  (1满足,不执行2)

(4) 管道运算符:|  // dir | find ".txt" 输出结果语句后 | 加 find 文本 过滤出指定信息的结果

2.5 转义字符

有特殊含义符号,输出时需要做转义处理

^<

^>

^&

^|

%%

3 文件处理

3.1 定向操作符

(1) echo 文本信息 > 文件名.后缀  // 当前文件夹下有文件内容全替换,无文件作成文件及内容

(2) echo 文本信息 >> 文件名.后缀 // 当前文件夹下有文件内容换行追加,无文件作成文件及内容

3.2 文件查看

(1) 查看文件夹: dir // 查看当前文件夹下,文件夹及文件名

(2) 切换文件夹: cd .. | ../文件夹 | 文件夹 // 切到上级文件夹,上级文件夹的子文件夹,子文件夹。正反斜线都可

(3) 查看文件内容: type [文件夹\]文件名.后缀 // 显示文件内容

(4) 显示文件层级目录: tree [/a] [/f] // 显示当前文件夹内,所有文件夹层级目录,a显示不同,f文件也显示

3.3 文件夹操作

(1) 创建文件夹: mkdir | md [文件夹\] 文件夹 // 创建文件夹,多级文件夹 

(2) 删除文件夹: rmdir | rd [/s [/q] ] [文件夹\] 文件夹 // 删空文件夹,删最里层文件夹,s内部全删,q不确认

(3) 重命名文件夹: rename | ren 文件夹 新文件夹名 // 重命名

3.4 文件操作

(1) 复制: copy | xcopy [/y(默认覆盖) | /-y(提示存在确认)] 文件夹|文件 目标文件夹 // 将文件夹内文件(不含文件夹及内容)或指定文件,复制到目标文件夹内,xcopy大量文件更快

(2) 删除文件: del [/p] [/f] [文件夹\] 文件名 | *.后缀 // 删除文件,p删除前确认,f强删只读, *范围匹配

(2) 删除文件夹下文件: del [/s] 文件夹[文件夹\] *.后缀 // 删除文件夹, *文件夹子级文件,s文件夹所有层级文件

(3) 剪切: move [/y(默认不提示) | /-y(覆盖提示)] [文件夹\]文件.后缀 [文件夹\]新文件名.后缀 // 剪切文件,同文件夹可改文件名,

4 流程控制

4.1 分歧

(1) 条件判断:if 条件 (...) else if 条件 (...) else (...)

(2) 文件存在判断:if [not] exist [c:\文件夹 | 文件夹\]文件.后缀 | 文件夹 (...) // 判断文件或文件夹是否存在

(3) 变量存在判断:if [not] defined 变量名 (...) //判断变量是否存在

4.2 条件判断

(1) 等于: if [变量==变量 | 变量 equ 变量]

(2) 不等于:if [not 变量==变量 | 变量 neq 变量]

(3) 小于:if 变量 lss 变量

(4) 小于等于:if 变量 leq 变量

(5) 大于:if 变量 gtr 变量

(6) 大于等于:if 变量 geq 变量

(7) 不区分大小写:if /i 变量 eq 变量

4.3 循环

(1) 循环数值:for /L %%临时变量 in (开始值, 增加值, 结束值) do (...) //临时变量只能是1个字母

(2) 循环文件:for /r "c:\文件夹 | 文件夹" %%临时变量 in (文件名.后缀 | *.*) do (...)

(3) 循环固定数据:for %%临时变量 in (值, 值, 值,...)

(4) 循环文件内容:for /f in [c:\文件夹\]文件名.后缀

(5) 循环当前文件夹下文件夹:for /d %%临时变量 in (* | 文件夹\*) // 遍历当前文件夹或in指定文件夹下的文件夹名

4.4 跳转与结束

(1) 定义代码块:【:代码块名 // 分号后定义名称,使goto可识别该名称,语句不执行

(2) 跳转:goto 代码块名  //使程序跳转到该行,再继续向下执行

(3) 结束程序:exit // 退出程序,跟在pause之后

5 日期字符处理

5.1 日期时间

(1) 显示当前日期:date /t

(2) 设置当前日期:date 日期

(3) 显示当前时间:time /t

(4) 设置当前时间:time 时间

注释:改变的是本地计算机的系统日期时间

5.2 字符串

(1) 截取字符串:%变量名:~[(正)开始下标 | (负)倒数位数], [(正)获取数量 | (负) 不含结尾数量] %//省略第二个值表示取到结尾

(2) 替换字符串: %变量名:目标字符=新值%

(3) 拼接字符串:%变量%%变量% // 或 文本后直接写%变量% 

6 窗口

(1) 窗口颜色:color 背景色文字色 // 例如 color 14  (1背景蓝色,4文字红色)

(2) 窗口标题:title 标题名

(3) 窗口大小:mode con clos=40 lines=6  // cols一行的半角位数,lines行数

(4) 弹窗信息:msg [username|sessionname|sessionid|*] 弹窗信息

 

7 子程序调用

7.1 开启窗口并执行文件

(1) 开启新窗口:start [窗口标题] [xx.bat]  // 开新窗口,可指定标题,可指定新窗口执行文件

(2) 执行文件:start /b xx.bat  // 在当前窗口执行文件,与原程序异步执行

(3) 清屏:cls 

7.2 调用外部程序 

(1) 调用外部程序:call 文件名.bat [参数1 ...参数9] // 最多传9个参数,子程序结束后继续执行

(2) 外部程序获取参数:%1~%9 // 只能识别%加1个数值,子程序不能pause结束,否则主程序不继续执行

7.3 调用内部程序 

(1) 同文件代码块调用: call :代码块名 [参数1 ...参数9] // 代码块修改变量影响外部的值,修改内部定义变量不影响外部数据

(2) 结束代码块:goto :eof  // 代码块程序终止,回到主程序继续执行 

 

7.4 返回值(errorlevel)

代码执行错误的返回值大于0,TODO未验证使用方式

(1) 判断成功:if errorlevel 0 (...) // 成功执行

(2) 判断成功:if %errorlevel% == 0 (...) // 成功执行

8 执行计划

本人windows10,at命令提示被弃用,应使用schtasks,具体可参照 schtasks /? 查看

9 其它命令

net [user] /?  // 本机命令

ipconfig // 显示ip信息

ping ip // 显示网络传输信息

netstart -an [ | find "信息" ] // 输出网络连接信息

shutdown  // 关闭计算机

mstsc // 远程桌面连接

tasklist // 任务列表

tasklist /s 远程ip /u 用户名 /p 密码   //远程任务列表

taskkill /im 任务.exe  // 关闭任务

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/171255.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java实现-数据结构 2.时间和空间复杂度

.如何衡量一个算法的好坏&#xff1a;时间复杂度和空间复杂度 算法效率分为时间效率和空间效率&#xff0c;时间效率称为时间复杂度&#xff0c;空间效率称为空间复杂度 时间复杂度 算法的时间复杂度是一个数学函数&#xff0c;它描述了算法的运行时间&#xff0c;一个算法执…

vim+xxd编辑十六进制的一个大坑:自动添加0x0a

问题描述 今天在做一个ctf题&#xff0c;它给了一个elf文件&#xff0c;我要做的事情是修复这个elf文件&#xff0c;最后执行它&#xff0c;这个可执行文件会计算它自身的md5作为这道题的flag。我把所有需要修复的地方都修复了&#xff0c;程序也能成功运行&#xff0c;但是fl…

【电路笔记】-快速了电阻

电阻类型 文章目录 电阻类型1、概述2、电阻器的组成类型2.1 碳电阻器2.2 薄膜电阻器2.3 绕线电阻器 3、总结 电阻器是所有电子元件中最基本、最常用的元件&#xff0c;人们几乎认为电阻器是理所当然的&#xff0c;但它们在电路中起着至关重要的作用。 1、概述 有许多不同类型的…

SpringCloud之Gateway(统一网关)

文章目录 前言一、搭建网关服务1、导入依赖2、在application.yml中写配置 二、路由断言工厂Route Predicate Factory三、路由过滤器 GatewayFilter案例1给所有进入userservice的请求添加一个请求头总结 四、全局过滤器 GlobalFilter定义全局过滤器&#xff0c;拦截并判断用户身…

深入解析:如何开发抖音票务小程序

当下&#xff0c;开发抖音票务小程序成为了吸引年轻用户群体的一种创新方式。本文将深入解析如何开发抖音票务小程序&#xff0c;探讨关键步骤和技术要点。 1.确定需求和功能 考虑到抖音的用户特点&#xff0c;可以加入与短视频相关的票务功能&#xff0c;如在线购票、观影记录…

IDEA中的Postman?完全免费!

Postman是大家最常用的API调试工具&#xff0c;那么有没有一种方法可以不用手动写入接口到Postman&#xff0c;即可进行接口调试操作&#xff1f;今天给大家推荐一款IDEA插件&#xff1a;Apipost Helper&#xff0c;写完代码就可以调试接口并一键生成接口文档&#xff01;而且还…

Jenkins用126邮箱发邮件为什么发不出去

1、检查 Jenkins Location中的邮件地址配置与发邮件的地址配置是否一致 Manage Jenkins -》 system 2、检查地址和端口号 3、检查邮箱的登录配置是否正确&#xff08;这个地方的配置方式网上一抓一大把&#xff0c;自己搜一下就好&#xff09; 4、126邮箱发邮件不需要勾选ssl协…

Blender学习--模型贴图傻瓜级教程

Blender 官方文档 1. Blender快捷键&#xff1a; 快捷键说明 按住鼠标滚轮&#xff1a;移动视角Tab&#xff1a;切换编辑模式和物体模式鼠标右键&#xff1a; 编辑模式&#xff1a; 物体模式&#xff1a; 其他&#xff1a; 2. 下面做一个球体贴一张纹理的操作 2.1 效果如下…

VM虚拟机中Ubuntu14.04安装VM tools后仍不能全屏显示

1、查看Ubuntu所支持的分辨率大小。 在终端处输入&#xff1a; xrandr&#xff0c;回车 2、输入你想设置的分辨率参数。 我设置的为1360x768&#xff0c;大家可以根据自己的具体设备设置。 在终端输入&#xff1a;xrandr -s 1360x768 注意&#xff1a;这里1360后边是字母 x 且…

Selenium-介绍下其他骚操作

Chrome DevTools 简介 Chrome DevTools 是一组直接内置在基于 Chromium 的浏览器&#xff08;如 Chrome、Opera 和 Microsoft Edge&#xff09;中的工具&#xff0c;用于帮助开发人员调试和研究网站。 借助 Chrome DevTools&#xff0c;开发人员可以更深入地访问网站&#xf…

交叉编译 和 软硬链接 的初识(面试重点)

目录 交叉编译的初认识Q&A Q1: 编译是什么&#xff1f; Q2: 交叉编译是什么&#xff1f; Q3: 为什么要交叉编译 Q3.1&#xff1a;树莓派相对于C51大得多&#xff0c;可以集成编译器比如gcc&#xff0c;那么树莓派就不需要交叉编译了吗&#xff1f; Q4: 什么是宿主机和…

鸿蒙HarmonyOS 编辑器 下载 安装

好 各位 之前的文章 注册并实名认证华为开发者账号 我们基实名注册了华为的开发者账号 我们可以访问官网 https://developer.harmonyos.com/cn/develop/deveco-studio 在这里 直接就有我们编辑器的下载按钮 我们直接点击立即下载 这里 我们根据自己的系统选择要下载的系统 例…

Unsupervised MVS论文笔记(2019年)

Unsupervised MVS论文笔记&#xff08;2019年&#xff09; 摘要1 引言2 相关工作3 实现方法3.1 网络架构3.2 通过光度一致性学习3.3 MVS的鲁棒光度一致性3.4 学习设置和实施的细节3.5.预测每幅图像的深度图 4 实验4.1 在DTU上的结果4.2 消融实验4.3 在ETH3D数据集上的微调4.4 在…

电力感知边缘计算网关产品设计方案-网关软件设计方案

网关采用网络协议和软件技术在通信网络中针对工业协议、互联网通用协议进行分析和记录,提升工业控制系统环境的安全防护能力。A类和B类网关采用容器技术的软件架构,采用C/S架构软件客户端提供应用软件平台,为管理员提供功能丰富的图形管理控制界面。 因A类和B类网关在产品定…

按需引入 ElMessage,没有样式且类型检查失败

文章目录 ElMessage 弹框没有样式问题描述解决方案 ts 类型检查失败问题描述解决办法 eslint 检查失败问题描述解决办法 ElMessage 弹框没有样式 问题描述 Element-plus 在使用 ElMessage 消息弹框的时候没有样式&#xff0c;按照官方的按需加载的方式引入的 import { ElMes…

AIGC ChatGPT4总结Linux Shell命令集合

在Linux中,Shell命令的数量非常庞大,因为Linux提供了各种各样的命令来处理系统任务。这些命令包括GNU核心工具集、系统命令、shell内置命令以及通过安装获得的第三方应用程序命令。以下是一些常见的Linux命令分类及其示例,但请注意,这不是一个全面的列表,因为列出所有命令…

Dempster-Shafer(D-S)证据理论的基本定义和详细分析,优点,缺点,应用!!(系列1)

文章目录 前言一、D-S证据理论的应用&#xff1a;二、D-S证据理论的优点&#xff1a;三、D-S证据理论的缺陷&#xff1a;四、D-S组合规则&#xff1a;总结 前言 Dempster-Shafer&#xff08;D-S&#xff09;证据理论是一种不精确推理理论&#xff0c;也称为Dempster/Shafer证据…

【开源】基于Vue+SpringBoot的农家乐订餐系统

项目编号&#xff1a; S 043 &#xff0c;文末获取源码。 \color{red}{项目编号&#xff1a;S043&#xff0c;文末获取源码。} 项目编号&#xff1a;S043&#xff0c;文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 用户2.2 管理员 三、系统展示四、核…

spark数据倾斜的解决思路

数据倾斜是&#xff1a;多个分区中&#xff0c;某个分区的数据比其他分区的数据多的多 数据倾斜导致的问题&#xff1a; 导致某个spark任务耗时较长&#xff0c;导致整个任务耗时增加&#xff0c;甚至出现OOM运行速度慢&#xff1a;主要发生在shuffle阶段&#xff0c;同样的k…

大数据数据仓库,Sqoop--学习笔记

数据仓库介绍 1. 数据仓库概念 数据仓库概念创始人在《建立数据仓库》一书中对数据仓库的定义是&#xff1a;数据仓库&#xff08;Data Warehouse&#xff09;是一个面向主题的&#xff08;Subject Oriented&#xff09;、数据集成的&#xff08;Integrated&#xff09;、相对…