bat指的是批量处理文件命令,在 Windows 系统使用。而 bat 文件是可执行文件,由命令构成,其中可以包含对其它程序调用,文件后缀是 bat 或 cmd。在文件中,一行内容就是一条执行命令,可在 Dos 下的 Edit创建修改或用其它文件文本输入编辑命令,最后修改文件后缀名。
主要说用其它文件文本创建修改,及一些常用的基本命令。
虽然可用用其它文件文本创建修改,但是都避不开记事本(也就是.txt文件)。因为其它文本文件直接修改后缀名,写好的命令会变成乱码……例如 Word 文档和 Excel 表格 👇
另存为记事本文件,再修改后缀名就没问题。所以,很多人都说右键新建记事本(文本文档)……
但是,有时有很多行命令,就要用 Excel 表格来编辑,另存为记事本(文本文档).txt,再修改后缀名为.bat/cmd。
有一点需要注意,在 win10 1903版本以上,记事本编码默认是 UTF-8,命令不能有中文,否则不能执行或出现乱码 👇
在记事本编辑窗口右下角可以看到编码 👇
那修改编码需要在另存为(Ctrl+Shift+S)界面修改,把编码修改为 ANSI 👇
接下来,就说一些常用的基本命令 👇
注意: 1.命令里的元素之间要用空格或制表键分隔开来 2.文件名称必须包含后缀名 3.把单一命令重复就是批量,如第三点 |
||||
1.创建文件夹 | ||||
md | 文件夹名称 | |||
2.批量创建文件夹方法1 | ||||
md | 文件夹名称 | 文件夹名称 | 文件夹名称 | …… |
3.批量创建文件夹方法2 | ||||
md | 文件夹名称 | |||
md | 文件夹名称 | |||
md | 文件夹名称 | |||
4.重命名 | ||||
ren | 文件名称 | 文件名称 | ||
注意 | 原文件名称 | 修改后的名称 | ||
5.重名当前目录下同一类型文件后缀名称 | ||||
ren | *.后缀名 | *.后缀名 | ||
注意 | 原文件后缀名 | 修改后的后缀 | ||
6.复制当前目录下某一文件到指定位置 | ||||
copy | 文件名称 | 位置地址 | ||
7.复制当前目录下所有同类型文件到指定位置 | ||||
copy | *.后缀名 | 位置地址 | ||
8.复制某一位置文件到指定位置 | ||||
copy | 文件地址\名称 | 位置地址 | ||
9.移动当前目录下某一文件到指定位置 | ||||
move | 文件名称 | 位置地址 | ||
10.移动当前目录下所有同类型文件到指定位置 | ||||
move | *.后缀名 | 位置地址 | ||
11.移动某一位置文件到指定位置 | ||||
move | 文件地址\名称 | 位置地址 | ||
12.创建文件 | ||||
cd.>文件名称 | ||||
注意:这个命令的元素不需要分隔开 | ||||
13.提取当前目录下同一后缀名的文件的名称输出到文件 | ||||
dir | *.后缀名/b>文件名称 | |||
注意:会保存名称到一个新创建的文件 | ||||
14.提取当前目录下某文件夹里同一后缀名的文件的名称输出到文件 | ||||
dir | 文件夹地址\*.后缀名/b>文件名称 | |||
注意:文件夹地址不需要盘符 | ||||
15.提取当前目录下所有文件的名称输出到文件 | ||||
dir | 地址\*.*/b>文件名称 | |||
16.删除当前目录某文件/同后缀名文件 | ||||
del | 文件名称(*.后缀名) | |||
17.删除指定位置某文件/同后缀名文件 | ||||
del | 位置地址\文件名称(*.后缀名) |
假设一个例子
有一个摄影比赛,是在网上投稿的。参赛者要上传作品,填写作者信息、作品简介和原创声明。工作人员线下需要整理资料归档,从网站下载资料。而网站批量下载是作品归作品,作品简介归作品简介……工作人员要按作者来分组。
由于前面木有各个命令演示。这个例子从用这些命令准备开始说起……
准备过程
鼠标右键新建记事本并命名为md创建文件夹.bat;保持选中继续鼠标右键编辑,输入“md 作品 作品简介 作者信息”,然后另存为修改编码为 ANSI,保存。之后,双击,就有三个新建文件夹 👇
在作品文件夹,右键新建 Excel 表格。在表格 A1 单元格输入1,保持选中,点击开始→填充→序列(用WPS的小伙伴,也是一样操作)。在序列窗口里,序列产生在选列,类型选等差序列,终止值填800,确定。在 B1 单元格输入“cd.>”,在 C1 单元格输入“a001”,在 D1 单元格输入“投稿1”,在 E1 单元格输入“作者1.jpg”,在 F1 单元格输入“=B1&C1&D1&E1”(名称是参赛编号+作品名+作者姓名,另外这种方式创建的 jpg 图像都是打不开),然后都向双击填充柄自动填充即可 👇
注:这里使用序列填充是为了之后能双击填充柄做自动填充。把命令分开填在不同单元格,再用文本连接符连接;这么折腾,还是为了能自动填充,以及这个命令的元素间不需要空格和制表符分隔。
选中 F 列复制粘贴为值,选中 A~E 列右键删除,另存为(F12),保存在作品文件夹,命名为 cd批量新建文件,保存类型选择文本文件(制表符分隔)(*.txt),保存;随后,会有一个弹窗(使用这种格式工作簿部分会丢失,是否使用)点击是即可。选中刚刚另存为的cd批量新建文件,按 F2 重命名,把后缀名改为.bat(修改后缀会提示文件不可用,是否修改,直接点是)。然后,右键编辑查看编码是否为 ANSI,不是就另存为改编码并直接覆盖原文件 👇
注意,使用 Excel 表格另存为的记事本默认编码是 ANSI。
双击 cd批量新建文件.bat 文件 👇
另外,说个题外话——关于参赛编号/码。参赛者姓名会有同名情况,投稿作品的名称也会有同名情况,但是参赛编号/码是唯一的不重复。在做表格、查找等,都能快速找到对应的参赛者和投稿作品。经常制作数据表会用到 VLOOKUP 函数,要精确匹配,查找值不能有重复,和参赛编号/码是一样的道理。
作品简介和作者信息的批量创建基本都是这样,大同小异。需要注意的是这样创建的文件都是空白文件。
正式开始
要按作者来分组,先以参赛编号+作者姓名来创建文件夹,之后把文件放在对应的文件夹里。
第一步,获取参赛编号和作者姓名表格并创建对应的文件夹(假设木有名单,原本假设里也木有假设有名单……)
在作者信息文件里,新建一个记事本,重命名为 dir提取文件名称,后缀改为.bat。保持选中该文件,右键编辑,输入“dir *.doc/b>提取当前目录doc文件名称.xls”,另存为修改编码并覆盖原文件。双击 dir提取文件名称.bat 文件,自动生成一个 Excel 表格 👇
双击打开刚刚生成的 Excel 表格,如果有提示文件格式与后缀名不符,文件可能损坏或不安全,是否仍要打开,点击是即可。打开后的样子 👇
选中 A 列右键插入一列,在 A1 单元格输入“md”,并双击填充。选中 B 列,点击数据→分列→在请选择最合适的文件类型,勾选分隔符号,点下一步→分隔符号,勾选其他,输入“-”,下一步→完成。使用查找和替换删除.doc。在 E1 单元格输入“=B1&”-“&D1”,并双击填充,以及复制粘贴为值。把 B~D 列删除。另存为文本文件(制表符分隔)(*.txt),并命名为 md批量创建文件夹;之后,修改后缀名称并双击 👇
第二步,移动文件到对应的文件夹里
还是从作者信息文件开始,打开刚刚提取文件名称的文件。选中 A 列插入一列,在 A1 单元格输入“copy”(输入 move 也可以),并双击填充。然后,选中 md批量创建文件夹.bat 文件右键编辑打开,全选复制,在 Excel 表格选中 C1 单元格粘贴。使用查找和替换把 md 替换成文件夹所在位置 👇
在 E1 单元格输入“=C1&D1”,并双击填充。选中 E 列复制粘贴值。删除 C~D 列。另存为文本文件(制表符分隔)(*.txt),并命名为 copy复制移动文件到指定位置;之后,修改后缀名称并双击 👇
接着是作品文件夹,把作者信息文件里的 dir提取文件名称.bat 文件复制过来,鼠标右键编辑,把 doc 改为 jpg 保存并双击运行 👇
打开 提取当前目录jpg文件名称.xls 文件。选中 A 列右键插入一列,在 A1 单元格输入“copy”并双击填充。打开 copy复制移动文件到指定位置.bat 文件,全选复制,然后选中 Excel 表格 C1 单元格粘贴。删除 C~D 列,另存为文本文件(制表符分隔)(*.txt),并命名为 copy;之后,修改后缀名称并双击 👇
最后就是作品简介,依旧是提取文件名称。把作者信息文件里的 dir提取文件名称.bat 文件复制过来,直接双击。打开刚创建的提取当前目录doc文件名称.xls 文件,选中 A 列右键插入一列,输入“move”(这次用移动),双击填充。打开 copy复制移动文件到指定位置.bat 文件,全选复制,然后选中 Excel 表格 C1 单元格粘贴。删除 C~D 列,另存为文本文件(制表符分隔)(*.txt),并命名为 move;之后,修改后缀名称并双击 👇
以往笔记
- Excel 2019 自动填充
- Excel 2019 填充