目录
- 第一章、快速了解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