Windows批处理:bat文件学习

目录

  • 第一章、快速了解Windows批处理
    • 1.1)Windows批处理相关概念介绍
      • 1.1.1)批处理的起源
      • 1.1.2)bat文件介绍
    • 1.2)Demo
      • 1.2.1)创建文件添加命令
      • 1.2.2)bat脚本中的命令解释
  • 第二章、实例
    • 2.1)点击bat文件,批量备份文件
      • 2.1.1)定期将重要文件复制到备份目录,以防止数据丢失。
      • 2.1.2)命令解释
    • 2.2)点击bat文件,批量修改文件名称
      • 2.2.1)D盘times下文件名中添加统一日期前缀
      • 2.2.2)命令解释
      • 2.2.3)D盘times下文件名中批量删除特定的字符
      • 2.2.4)命令解释
    • 2.3)点击bat文件,自动清理临时文件:
    • 2.4)自动化测试和部署
  • 第三章、批处理文件中的命令集合
    • 3.1)常用命令
    • 3.2)不常用命令
    • 3.3)其他命令

友情提醒:

先看文章目录,大致了解文章知识点结构,点击文章目录可直接跳转到文章指定位置。

第一章、快速了解Windows批处理

1.1)Windows批处理相关概念介绍

1.1.1)批处理的起源

①批处理(Batch),也称为批处理脚本。在计算机系统还是DOS(磁盘操作系统是一种早期的命令行操作系统)时期时被大量使用,用来对某对象进行批量的处理,通常被认为是一种简化的脚本语言,现在它应用于DOS和Windows系统中。批处理文件的扩展名为.bat(即是batch的缩写)简称 BAT文件 。

②在Windows NT以后的平台中,还加入了以.cmd为扩展名的批处理文件,其性能比.bat文件更加优越,执行也与.bat文件一样方便快捷。

1.1.2)bat文件介绍

bat文件介绍
批处理文件通常使用 .bat 或 .cmd 扩展名,并且可以包含用于执行各种任务的命令,例如文件操作、系统管理和自动化任务。Windows批处理文件可以通过文本编辑器创建,并且可以在命令提示符窗口中运行。这些命令在双击文件时按顺序执行。

解决了什么问题
Windows批处理文件解决了许多自动化任务和系统管理问题。它们允许用户编写一系列命令,在双击文件时自动执行这些命令。这样可以简化重复性任务的执行,提高效率,简化复杂任务的执行,从而减少人为错误。

1.2)Demo

1.2.1)创建文件添加命令

①创建一个扩展名为 .bat 的文件
创建echo.bat文件
在这里插入图片描述
②使用记事本/文本文档方式打开,在其中添加以下命令:

@echo off
echo helloworld
pause

在这里插入图片描述
③双击bat文件
在这里插入图片描述

1.2.2)bat脚本中的命令解释

rem命令是用来添加注释的
@echo off 命令用于关闭命令提示符窗口中的命令回显。
echo helloworld 用于在控制台打印 “helloworld”。
pause 命令用于暂停控制台,以便你可以看到 “helloworld” 的输出。
双击运行,将在控制台中看到 “helloworld” 的输出。

第二章、实例

2.1)点击bat文件,批量备份文件

2.1.1)定期将重要文件复制到备份目录,以防止数据丢失。

在filebak.bat文件中加入以下命令:

@echo off
set source=E:\test.doc
set destination=D:\Backupxcopy %source% %destination% /E /C /H /R /Y

2.1.2)命令解释

@echo off:关闭批处理文件的命令回显,这样在执行过程中不会显示每个命令的详细信息。

set source=E:\test.doc:设置一个名为source的变量,其值为E:\test.doc,这是想要备份的重要文件的路径。

set destination=D:\Backup:设置一个名为destination的变量,其值为D:\Backup,这是想要将文件备份到的目标目录路径。

xcopy %source% %destination% /E /C /H /R /Y:这是实际执行文件复制的命令。

xcopy:用于复制文件和目录的命令。
%source%和%destination%:之前设置的变量

/E表示复制目录和子目录,/C表示继续复制,即使出现错误,
/H表示复制隐藏文件,/R表示覆盖只读文件,
/Y表示在不提示的情况下覆盖现有文件。

2.2)点击bat文件,批量修改文件名称

2.2.1)D盘times下文件名中添加统一日期前缀

添加前文件名称如下:
在这里插入图片描述
timeformat.bat文件中添加如下命令,并执行bat文件

@echo off
setlocal enabledelayedexpansioncd /d D:\timesfor %%F in (*) do (set "filename=%%~nF"set "extension=%%~xF"set "datestamp=!date:~0,4!!date:~5,2!!date:~8,2!"set "names=qq"ren "%%F" "!names!-!datestamp!-!filename!!extension!"
)

执行timeformat.bat文件后:
在这里插入图片描述

2.2.2)命令解释

@echo off:关闭命令回显,这样在执行过程中不会显示每个命令的详细信息。

setlocal enabledelayedexpansion:启用延迟环境变量扩展,这允许在循环中使用!来获取变量的延迟扩展值。

cd /d D:\times:切换当前目录到D:\times。

for %%F in (*) do (...):这是一个循环命令,用于遍历当前目录中的所有文件。

set "filename=%%~nF":将文件名存储在filename变量中。

set "extension=%%~xF":将文件扩展名存储在extension变量中。

set "datestamp=":创建一个名为datestamp的变量,其中包含当前日期的格式化字符串。

!date:~0,4!:表示从当前日期中提取从第0个位置开始的4个字符,即年份部分。
!date:~5,2!:表示从当前日期中提取从第5个位置开始的2个字符,即月份部分。
!date:~8,2!:表示从当前日期中提取从第8个位置开始的2个字符,即日期部分。

ren "%%F" "!datestamp!-!filename!!extension!":使用ren命令将文件重命名为包含日期前缀的新文件名。

2.2.3)D盘times下文件名中批量删除特定的字符

删除前:
在这里插入图片描述
deleteFileName.bat文件中添加如下命令,并执行bat文件

@echo offsetlocal enabledelayedexpansioncd /d D:\timesrem 设置要删除的指定字符
set "char=extension"for %%F in (*) do (set "filename=%%~nF"set "extension=%%~xF"rem 删除文件名中的指定字符set "newname=!filename:%char%=!"ren "%%F" "!newname!!extension!"
)echo 文件名中的指定字符统一删除完成。

执行deleteFileName.bat文件后

在这里插入图片描述

2.2.4)命令解释

set "char=extension":设置要删除的指定字符为"extension"。这里的"extension"是一个示例,你可以将其替换为你想要删除的具体字符内容。

for %%F in (*) do (...):遍历当前目录下的所有文件。

set "filename=%%~nF":获取文件名部分并赋值给变量filename。

set "extension=%%~xF":获取文件扩展名部分并赋值给变量extension。

set "newname=!filename:%char%=!":使用延迟变量扩展,将文件名中的指定字符(在这里是"extension")替换为空,得到新的文件名并赋值给变量newname。

ren "%%F" "!newname!!extension!":使用ren命令将文件重命名为新的文件名。

2.3)点击bat文件,自动清理临时文件:

用于定期清理系统中的临时文件和缓存,以释放磁盘空间。不过感觉还是不要清理了,容易清理错重要文件

@echo off
echo 正在清理临时文件,请稍候...
rem 清理临时文件
del /q /s %temp%\*.*
rem 清理缓存
del /q /s "C:\Windows\SoftwareDistribution\Download\*.*"
echo 临时文件和缓存清理完成。

2.4)自动化测试和部署

使用批处理文件来自动化软件测试和部署过程,以节省时间和减少人为错误。
这个太复杂了,算了不学这个,了解了解得了

第三章、批处理文件中的命令集合

3.1)常用命令

项目Value
@echo off:关闭命令回显,使得在运行批处理文件时不显示每条命令的执行结果。
echo:用于在命令行中显示文本或变量的值。
set:用于设置和显示环境变量。
cd:用于改变当前目录。
dir:显示目录中的文件和子目录列表。
copy:复制文件。
del:删除文件。
ren:重命名文件。
start:启动一个新窗口来运行指定的程序或命令。
pause:暂停批处理文件的执行,等待用户按下任意键继续。
md:创建当前位置的新目录。
move:移动文件或目录到另一个目录。
exit:退出DOS控制台。

3.2)不常用命令

项目Value
assoc:将文件扩展名与文件类型关联起来,显示现有的关联,或删除关联。
chkdsk:检查磁盘是否存在问题。
choice:向用户提供选项列表。
convert:将卷从FAT16或FAT32文件系统转换为NTFS文件系统。
driverquery:显示所有已安装的设备驱动程序及其属性。
expand:从压缩的.cab文件中提取文件。
find:在文件或输入中搜索字符串,并输出匹配的行。
label:添加、设置或删除磁盘标签。
more:逐屏显示文件或文件的内容。
subst:为本地文件夹分配驱动器号,显示当前

3.3)其他命令

如果电脑安装了Java的JDK,批处理文件可以使用JDK提供的命令。

在批处理文件中,就可以使用javac命令来编译Java源文件,使用java命令来运行Java应用程序,以及其他JDK提供的命令。

REM 编译Java源文件
javac YourJavaFile.javaREM 运行Java应用程序
java YourJavaProgram

同理如果电脑安装了MySQL批处理文件可以使用MySQL提供的命令

REM 通过批处理文件运行MySQL命令
mysql -h hostname -u username -p < yourscript.sql

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

协方差矩阵计算

文章目录 协方差矩阵计算原理python实现 协方差矩阵 协方差矩阵反映了两个随机变量变化时是同向还是反向的&#xff08;相关性&#xff09;。 如果协方差>0&#xff0c;则说明这两个随机变量同向变化。 协方差矩阵<0&#xff0c;则说明是反向变化。 协方差矩阵0&#xf…

WinApp自动化测试之辅助工具介绍

前篇文章中&#xff0c;我们简单介绍了部分WinApp自动化测试脚本常规操作&#xff0c;今天我们来讲剩余的部分。 文件批量上传 文件批量上传和文件单个上传原理是相同的&#xff0c;单个上传直接传入文件路径即可&#xff0c;批量上传需要进入批量上传的文件所在目录&#xf…

今年面试潮,说实话这个开发岗能不能冲?

自打华为 2019 年发布鸿蒙操作系统以来&#xff0c;网上各种声音百家争鸣。尤其是 2023 年发布会公布的鸿蒙 4.0 宣称不再支持 Android&#xff0c;更激烈的讨论随之而来。 当下移动端两大巨头瓜分了绝大部分市场&#xff1a; iOS 是闭源的&#xff0c;只有唯一的一家厂商&am…

计算机网络_2.1 物理层概述

2.1 物理层概述 一、物理层要实现的功能二、物理层接口特性 B站 深入浅出计算机网络 2.1物理层概述 一、物理层要实现的功能 物理层要实现的功能就是在各种传输媒体上传输比特0和1&#xff0c;进而给上面的数据链路层提供透明传输比特流的服务。 数据链路层“看不见”&#xff…

MySQL 存储过程批量插入总结

功能需求背景&#xff1a;今天接到产品经理核心业务表的数据压测功能&#xff0c;让我向核心业务表插入百万级的业务量数据&#xff0c;我首先想到的办法就是存储过程实现数据的批量 。 由于无法提供核心业务表&#xff0c;本文仅仅提供我刚刚自己创建的表bds_base_user 表做相…

vite打包构建时环境变量(env)生成可配置的js文件

现实需求 在vite开发过程中&#xff0c;一些变量可以放在.env&#xff08;基础公共部分变量&#xff09;.env.dev&#xff08;开发环境&#xff09;、.env.production&#xff08;生产环境&#xff09;中管理&#xff0c;通常分成开发和生产两个不同的配置文件管理&#xff0c…

蓝桥杯算法题汇总

一.线性表&#xff1a;链式 例题&#xff1a;旋转链表 二.栈&#xff1a; 例题&#xff1a;行星碰撞问题 三.队列 三.数组和矩阵 例题&#xff1a;

SCP命令行向服务器端上传文件或下载文件

环境要求 使用scp&#xff08;Secure Copy Protocol&#xff09;命令在本地和远程系统之间安全地复制文件和目录&#xff0c;需要满足以下环境要求&#xff1a; SSH服务&#xff1a;scp依赖于SSH&#xff08;Secure Shell&#xff09;协议来安全地传输文件。因此&#xff0c;…

2.2_2 进程调度的时机、切换与过程、调度方式

文章目录 2.2_2 进程调度的时机、切换与过程、调度方式&#xff08;一&#xff09;进程调度的时机&#xff08;二&#xff09;进程调度的方式&#xff08;三&#xff09;进程的切换与过程 总结 2.2_2 进程调度的时机、切换与过程、调度方式 &#xff08;一&#xff09;进程调度…

作业1-224——P1927 防护伞

思路 遍历一下找到两点间的最远距离&#xff0c;直接公式算结果&#xff0c;控制输出位数 参考代码 #include<iostream> #include<iomanip> #include<cmath> using namespace std; int main() { int n; cin>>n; int x[n],y[n]; do…

【开源】JAVA+Vue.js实现APK检测管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 开放平台模块2.3 软件档案模块2.4 软件检测模块2.5 软件举报模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 开放平台表3.2.2 软件档案表3.2.3 软件检测表3.2.4 软件举报表 四、系统展示五、核心代…

第六十七天 APP攻防-Frida反证书抓包移动安全系统资产提取评估扫描

第67天 APP攻防-Frida反证书抓包&移动安全系统&资产提取&评估扫描 知识点&#xff1a; 1、资产提权-AppinfoScanner 2、评估框架-MobSF&mobexler 3、抓包利器-Frida&rOcapture 章节点&#xff1a; 1、信息收集-应用&资产提取&权限等 2、漏洞发现…

Python Web开发记录 Day5:jQuery(JavaScript库)

名人说&#xff1a;莫道桑榆晚&#xff0c;为霞尚满天。——刘禹锡&#xff08;刘梦得&#xff0c;诗豪&#xff09; 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 五、jQuery1、jQuery-选择器和菜单案例①快速上…

2024年制造业,智能控制与材料科学国际会议(ICMICMS 2024)

全称&#xff1a;2024年制造业&#xff0c;智能控制与材料科学国际会议&#xff08; ICMICMS 2024&#xff09; 会议网址:http://www.icmicms.com会议时间: 2024.03.25截稿时间&#xff1a;2024.03.15会议地点: 昆明投稿邮箱&#xff1a;icmicms_info163.com投稿标题&#xff1…

vue3的router

需求 路由组件一般放在&#xff0c;pages或views文件夹, 一般组件通常放在component文件夹 路由的2中写法 子路由 其实就是在News组件里面&#xff0c;再定义一个router-view组件 他的子组件&#xff0c;机会渲染在router-view区域 路由传参 <RouterLink :to"/news…

退休开便利店真的靠谱吗?2024比较赚钱的创业项目排行

近日多个退休后开便利店赚钱的新闻登上热搜&#xff0c;但是&#xff0c;小编对此有疑问&#xff0c;退休的老年人开便利店真的是一个好选择吗&#xff1f; 第一、便利店最基本的转让费&#xff0c;装修费&#xff0c;进货等等&#xff0c;这笔开支非常大&#xff0c;足以掏空老…

IDC 中搭建 Serverless 应用平台:通过 ACK One 和 Knative 玩转云资源

作者&#xff1a;元毅、庄宇 如何打造云上&#xff08;公共云&#xff09;、云下&#xff08;IDC 数据中心&#xff09;统一的云原生 Serverless 应用平台&#xff0c;首先我们来看一下 ChatGPT 4 会给出什么样的答案&#xff1a; 如何打造云上、云下统一的云原生 Serverless…

Android修行手册-Chaquopy中opencv、numpy的初步应用

Unity3D特效百例案例项目实战源码Android-Unity实战问题汇总游戏脚本-辅助自动化Android控件全解手册再战Android系列Scratch编程案例软考全系列Unity3D学习专栏蓝桥系列ChatGPT和AIGC &#x1f449;关于作者 专注于Android/Unity和各种游戏开发技巧&#xff0c;以及各种资源分…

C/C++ Zlib库调用Minzip来封装MyZip压缩类

文章目录 1、C/C Zlib库调用Minzip来封装MyZip压缩类1.1、类的功能实现1.1.1、ZIP压缩函数 Compress1.1.2、ZIP解压函数 UnCompress1.1.3、代码如下1.1.4、如何使用类 1、C/C Zlib库调用Minzip来封装MyZip压缩类 Zlib是一个开源的数据压缩库&#xff0c;提供了一种通用的数据压…

Mybatis | Mybatis的核心配置

目录: Mybatis的核心配置 :一、MyBatis的 “核心对象”1.1 SqlSessionFactory1.2 SqlSession :SqlSession对象中的操作数据库的方法 :\<T> T selectOne ( String statement )\<T> T selectOne( String statement , Object parameter )\<E> List\<E> se…