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:\Backup

xcopy %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 enabledelayedexpansion

cd /d D:\times

for %%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 off

setlocal enabledelayedexpansion

cd /d D:\times

rem 设置要删除的指定字符
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.java

REM 运行Java应用程序
java YourJavaProgram

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Java集合容器面试题

Java集合容器面试题 前言1、同步容器与并发容器之间的关系&#xff1f;2、阻塞队列的作用&#xff1f;3、阻塞队列了解多少&#xff1f;4、BlockingQueue接口中的一些方法&#xff1f;5、Java中的集合类有几种&#xff1f;6、数组和集合的区别&#xff1f;7、ArrayList、LinkLi…

【二分】二分模板+二分题目

一、朴素二分 . - 力扣&#xff08;LeetCode&#xff09;. - 备战技术面试&#xff1f;力扣提供海量技术面试资源&#xff0c;帮助你高效提升编程技能,轻松拿下世界 IT 名企 Dream Offer。https://leetcode.cn/problems/binary-search/description/ int left 0, right nums.…

Windows Docker 部署 Jenkins

一、简介 今天介绍一下在 Windows Docker 中部署 Jenkins 软件。在 Windows Docker 中&#xff0c;分为两种情况 Linux 容器和 Windows 容器。Linux 容器是通常大多数使用的方式&#xff0c;Windows 容器用于 CI/CD 依赖 Windows 环境的情况。 二、Linux 容器 Linux 容器内部…

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…

hudi索引

1.重点类 1.1.HoodieIndex 索引实现的基类&#xff0c;核心方法是两个&#xff1a;tagLocation和updateLocation   后续有不同的子类实现具体的索引 1.2.HoodieIndexFactory 没有具体这个类&#xff0c;是创建HoodieIndex的工厂类。具体操作类的名字以这个为后缀&#xff…

ESU毅速丨不锈钢材料为什么在金属3D打印中的广泛应用

不锈钢是一种传统且常见的材料&#xff0c;在金属3D打印领域应用最广。那么&#xff0c;为何不锈钢材料在3D打印中如此受欢迎呢&#xff1f;以下是几个关键原因。 卓越的工艺适应性 金属3D打印技术&#xff0c;如直接金属激光烧结&#xff08;DMLS&#xff09;和选择性激光熔融…

【论文笔记】Improving Language Understanding by Generative Pre-Training

Improving Language Understanding by Generative Pre-Training 文章目录 Improving Language Understanding by Generative Pre-TrainingAbstract1 Introduction2 Related WorkSemi-supervised learning for NLPUnsupervised pre-trainingAuxiliary training objectives 3 Fra…

【MySQL】数据查询——DQL基本数据库查询

目录 查询语法1. 查询表中所有的数据行和列&#xff0c;采用“*”符号2. 查询表中指定列的数据。3. 在查询中使用别名&#xff0c;使用“AS”关键字。4. 在查询中使用常量列&#xff1a;如果需要将一些常量的默认信息添加到输出结果中&#xff0c;以方便统计或计算。可以使用常…

Linux服务器挂了后如何再次启动SVN

Linux服务器挂了后如何再次启动SVN 启动SVN步骤grep查询kill杀掉原有的select查找目录&#xff0c;并设置启动服务DONE设置自启动 启动SVN步骤 最近在折腾AI&#xff0c;比较少更博客了&#xff0c;大家有问题可随时询问 grep查询 [rootDujinyang Code]# ps -ef |grep svn …

【Qt学习】QTextEdit 与 QComboBox 的 属性与实例(槽函数的使用、读取本机内容到控件)

文章目录 1. QTextEdit2.1 介绍2.2 实例使用 - 槽函数的使用 2. QComboBox2.1 介绍2.2 实例使用案例1&#xff1a;设置下拉框项目组件的方式案例2&#xff1a;读取本机文件内容 到QComboBox 1. QTextEdit 2.1 介绍 我们可以查阅官方文档&#xff0c;对QTextEdit 有更深的了解&…

vue3基础教程(1)——nodejs环境搭建

博主个人小程序已经上线&#xff1a;【中二少年工具箱】 小程序二维如下&#xff1a; 正文开始 专栏简介1. 环境菜单2.为什么下载node3. nodejs简介4. nodejs安装5. 编辑器选择 专栏简介 本系列文章由浅入深&#xff0c;从基础知识到实战开发&#xff0c;非常适合入门同学。…

13.网络游戏逆向分析与漏洞攻防-网络通信数据包分析工具-如果没有工具就创造工具

内容参考于&#xff1a; 易道云信息技术研究院VIP课 上一个内容 &#xff1a;12.游戏网络通信存在的问题 现在把游戏网络的架构看了一个小小的大概&#xff0c;可以用它的接口发数据接收数据了&#xff0c;如果真正想用它这一套东西&#xff0c;真正核心不在于它的接口而在于…

python实现AES加密解密

1. 前言 AES是一种对称加密&#xff0c;所谓对称加密就是加密与解密使用的秘钥是一个。 之前写过一片关于python AES加密解密的文章&#xff0c;但是这里面细节实在很多&#xff0c;这次我从 参数类型、加密模式、编码模式、补全模式、等等方面 系统的说明如何使用AES加密解密…

存储xss实现获取cookie(本地实战)

实战更能体验收获&#xff01;&#xff01;&#xff01; 环境准备&#xff1a; 1.phpstudy 2.dvwa靶场 实战 首先我们在phpstudy指定的localhost网站目录下编写一个xss.php文件&#xff0c;内容如下&#xff1a; <?php $cookie $_GET[cookie]; $ip getenv (REMOTE_…

零基础小白到底适不适合学鸿蒙,请看完这篇再决定吧~

随着华为鸿蒙系统的问世&#xff0c;不少技术小白在是否学习鸿蒙的问题上犹豫不决。鸿蒙作为华为自主研发的操作系统&#xff0c;拥有许多独特的技术优势和市场前景。但对于小白来说&#xff0c;是否值得投入时间和精力去学习鸿蒙开发呢&#xff1f; 1.鸿蒙系统开发&#xff1…

Java8 - LocalDateTime时间日期类使用详解

&#x1f3f7;️个人主页&#xff1a;牵着猫散步的鼠鼠 &#x1f3f7;️系列专栏&#xff1a;Java全栈-专栏 &#x1f3f7;️个人学习笔记&#xff0c;若有缺误&#xff0c;欢迎评论区指正 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&…

云南经贸Day01

day01 一. VMware创建虚拟机二.VMware安装Linux三 虚拟机网络配置1. 查看网络信息2. 修改网络IP 四. 虚拟机操作管理1. 通过VMware为虚拟机拍摄快照2. VMware 为虚拟机执行克隆 五. Xshell的安装和使用 一. VMware创建虚拟机 二.VMware安装Linux 清华大学镜像源网址: https://m…

南方电网的能源棋局上,蔚来换电扮演什么角色?

2 月 26 日&#xff0c;南网储能科技与蔚来能源签署协议&#xff0c;将充换电站、储能站、可调负载等聚合资源连接到虚拟电厂平台&#xff0c;推动换电站作为分布式储能在虚拟电厂项目上的应用。 蔚来换电站是国内首个智慧微电网型分布式换电设施&#xff0c;可透过换电订单预…

【C++ map和set】

文章目录 map和set序列式容器和关联式容器键值对setset的主要操作 mapmap主要操作 multiset和multimap map和set 序列式容器和关联式容器 之前我们接触的vector,list,deque等&#xff0c;这些容器统称为序列式容器&#xff0c;其底层为线性序列的的数据结构&#xff0c;里面存…

面试数据库篇(mysql)- 08事务

原理 事务是一组操作的集合,它是一个不可分割的工作单位,事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 ACID是什么?可以详细说一下吗? 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全…
最新文章