一、本章简介
1.1 本章概述
本次实验主要介绍了如何利用批处理命令快速处理文件和目录,以达到快速提升办公效率的目的。
1.2 本章环境
- Windows操作系统
- Python
- PyCharm
- Word\Excel\PPT
1.3 本章流程
1.4 本章目标
完成本实验后,您将能够
- 了解什么是批处理命令
- 了解常用的Windows批处理命令
- 掌握如何利用批处理命令快速处理文件和目录
二、本章内容
任务一、批处理命令简介
【任务目标】
本次任务主要了解什么是批处理命令?如何编写及运行一个最简单的批处理命令。
【任务步骤】
1.1、什么是批处理命令
(1)批处理是一种简化的 [脚本语言],也称作 [宏]。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令[解释器](通常是COMMAND. COM或者CMD.EXE)解释运行。
(2)类似于Unix中的[Shell脚本]。批处理文件具有 .bat 或者.cmd的扩展名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。
(3)更复杂的情况,需要使用 if,for,goto等命令控制程序的运行过程,如同C,Basic等中高级语言一样。如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的[外部命令]和第三方提供的工具或者[软件]。
(4)批处理文件,或称为[批处理程序],是由一条条的DOS命令组成的普通文本文件,可以用[记事本]直接编辑或用DOS命令创建。在“命令提示”下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe运行该[批处理程序]。
(5)一般情况下,每条命令占据一行;当然也可以将多条命令用特定符号(如:&、&&、|、||等)分隔后写入同一行中;还有的情况就是像if、for等较高级的命令则要占据几行、几十甚至几百行的空间。系统在解释运行[批处理程序]时,首先扫描整个批处理程序,然后从第一行代码开始向下逐句执行所有的命令,直至程序结尾或遇见exit命令或出错意外退出。
1.2、批处理简单示例
示例-1:
进入系统云实验沙箱后,在系统桌面,新建一个 hello.bat
文件,然后,以记事本打开,在记事本中输入如下代码,该代码是一个输出 “hello world” 的批处理程序:
@echo off
echo hello world
pause & exit
具体操作如下:
保存并关闭!
敲回车,命令行窗口会自动退出!
示例-2:
再举一个例子,以下这段代码可以把用户输入的字符赋值到"input"变量里,并输出:
@echo off
set /p "input=>"
echo 您输入的是%input%
pause
具体实现步骤如下:
(1)新建 hello02.bat文件
(2)用记事本打开该文件,并编写上述代码
(3)保存并退出
(4)在该文件上击右键,选择 以管理员身份运行
(5)最终实现效果如下:
任务二、Windows批处理常见命令
【任务目标】
本次任务主要讲解了如何利用批处理命令完成常规的文件和目录操作命令。
【任务步骤】
2.1 md:创建目录
如在c盘下创建mydb目录:
md – make dir
md c:\mydb
2.2 cd:显示当前目录名或改变当前目录
如进入到c:\mydb目录:
cd – change directory
cd c:\mydb
2.3 rd:删除一个目录
rd – remove dir
如:将c:\mydb目录删除
rd c:\mydb
2.4 dir:显示目录中的文件和子目录列表。
如:显示C盘下所有文件和目录列表
dir c:\
2.5 tree:以树状图形显示驱动器或路径的文件夹结构
如:显示C盘下所有路径及文件夹的结构
tree c:\
2.6 copy:复制文件和目录树。
如:将当前目录下的 a.txt文件拷贝到c:\test目录下
copy a.txt c:\test
2.7 del:删除一个或数个文件
如:删除当前目录下的 a.txt
del a.txt
安静模式删除,即删除时不弹出是否删除的提示框,如:
del c:\mybat\a.txt /q
2.8 move:移动文件并重命名文件和目录
如:将当前目录下的a.txt 移动到 c:\test目录下并重命名为:b.txt
move a.txt c:\test\b.txt
2.9 ren:重命名文件
如:将当前目录下的 a.txt重命名为 b.txt
ren a.txt b.txt
2.10 echo :向文件中写入内容
如:
echo hello >> D:\mybat\a.txt
说明:如果这个文件不存在就创建文件并输入。如果是文件夹不存在就不会成功!
>>与>的区别是: >是覆盖掉原来的,>>是直接输入到原来的尾部
2.11 type:显示文件中内容
如:显示当前目录下的a.txt中的内容
type a.txt
注意事项:
a、批处理脚本编写时最好的老师就是小黑老师啦,打开命令行窗口,输入命令加上/?就会有详细的说明,比如: netstat /?
b、pause 命令可以方便我们查看命令执行到了那一步,因为在bat脚本运行时若出现脚本错误窗口会一闪而过。
c、批处理执行过程中可以按 Ctrl+C退出,这对于出现死循环时非常有用。
任务三、利用批处理命令处理文件和目录
【任务目标】
本次任务主要讲解了如何利用批处理命令完成常规的文件和目录操作。
【任务步骤】
3.1 示例-1:清理系统垃圾文件
- eg-01.bat
@echo off
if exist C:\windows\temp\*.* del C:\windows\temp\*.*
if exist C:\windows\History\*.* del C:\windows\History\*.*
if exist C:\windows\recent\*.* del C:\windows\recent\*.*
exist
3.2 示例-2:批量打开软件或命令窗口
**办公场景:**对经常要坐在电脑前工作的人而言,到公司的第一件事可能就是:
开电脑->
开软件A等2秒->
开软件B,等6秒->
开文件夹1->….
等所有都事情都做完了,可能都好几分钟了,而这机械的事情你是否想过改善?
有了这个批处理,你就可以:双击,然后去泡杯咖啡吧!
- eg-02.bat
@echo off
echo "开始"
echo "启动word..."
start "WORD" "C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Microsoft Office\Microsoft Word 2010"
ping 127.0.0.1
echo "打开文件夹"
start c:\temp
ping 127.0.0.1
echo "结束"
3.3 示例-3:批量创建文件
我们需要创建100个文本文件,使用批处理非常简单,只需要下面一行代码搞定:
for /l %%i in (0,1,99) do (echo 这是file%%i.txt 文件 > file%%i.txt)
说明:
具体操作步骤如下:
1)进入实验沙箱,在桌面新建一个test目录
2)在该目录中,新建一个名称为 创建100个文件.bat
文件
3)在该文件中输入以上代码
4)保存并关闭
5)击右键,以管理员身份运行,最终实现效果如下:
随机打开一个文件查看内容,如:file10.txt
3.4 示例-4:批量创建文件夹
我们再在当前目录下创建8个文件夹,代码如下所示:
for %%i in (A,B,C,D,E,F,G,H) do mkdir %%i
具体操作步骤如下:
1)进入实验沙箱,在桌面新建一个test2目录
2)在该目录中,新建一个名称为 创建8个文件夹.bat
文件
3)在该文件中输入以上代码
4)保存并关闭
5)击右键,以管理员身份运行,最终实现效果如下:
3.5 示例-5:一次性提取所有文件名
我们需要一次性提取某目录下所有的文件名,核心批处理代码如下:
dir *.* /B > file_list.txt
具体操作步骤如下:
1)进入实验沙箱桌面中的test2目录
2)在该目录中,新建一个名称为 一次性提取所有文件名.bat
文件
3)在该文件中输入以上代码
4)保存并关闭
5)击右键,以管理员身份运行,最终实现效果如下:
双击查看 file_list.txt 内容:
3.6 示例-6:一次性提取目录树(目录及子目录)
我们需要一次性提取某目录下所有的文件名(包括子目录),核心批处理代码如下:
tree /f > target.txt
具体操作步骤如下:
1)进入实验沙箱桌面中的test2目录
2)在该目录中,新建一个名称为 一次性提取目录树.bat
文件
3)在该文件中输入以上代码
4)保存并关闭
5)击右键,以管理员身份运行,最终实现效果如下:
双击 target.txt , 查看内容如下:
3.7 示例-7:和Excel结合批量创建文件夹
有一种技巧就是利用excel结合批处理文件进行办公自动化需求实现,如接下来,我们每个月都需要针对每天单独创建一个文件夹,则可以:
1)进入实验沙箱,在桌面上新建一个test3文件夹
2)在此文件夹中,新建test.xlsx , 打开excel , 利用excel快速托拽,实现如下数据集:
3)在该目录中,再新建一个test.bat 文件,将以上两列复制到该文件中
4)保存并关闭
5)击右键,以管理员身份运行,最终实现效果如下:
或另一种实现方式:
也可以利用如下批处理代码实现:
for /l %%i in (1,1,30) do (mkdir 9月%%i日)