目录
1. 背景
我们可能经常会遇到这样的情况,想要通过快速的方式复制多个文件,而这多个文件呢,又需要以不同的名字命名。如果,仅仅是通过人力手动的复制和修改,那样将会是很慢的,而且是很无聊的。当然,大家也会通过编写程序的方式实现文件的复制,以及名称的更改。但是这些也需要一定的工作量,还是不够方便。这不,本文就此问题给出了一个快速的解决方案。
2. 具体实施
1. 创建一个数据文件
数据文件以data.txt
命名。
学号,姓名
01,张三
02,Tom
03,Rose
2. 执行命令
命令行下执行以下命令。
for /F "skip=1 tokens=2 delims=," %i in (data.txt) do @copy nul %i.txt
如果上面命令想用到多次,可创建一个批处理文件,并写入下面的命令。
for /F "skip=1 tokens=2 delims=," %%i in (data.txt) do @copy nul %%i.txt
这两者的不同在于%%i
比%i
多了个百分号,%
用于转义。
若需要复制一个具体的文件,可将nul
改成具体文件的路径即可。
注意:上述命令需要和上面的数据文件在相同目录下执行。
3. 命令解释
for
命令详细说明可以通过命令行获取,这里仅解释上面使用的内容。
/F
说明可指定更细致的配置,如"skip=1 tokens=2 delims=,"
等。
skip=1
表示跳过第一行,tokens=2
表示读取第2列,这里对应的是姓名列,delims=,
指明每列以逗号分隔。%i
表示循环变量。in (data.txt)
表示读取的文件,文件可以包含多个。
do
后面指定循环体中具体执行的命令,这里利用copy
命令将nul
(代表一个空设备)复制到%i.txt
文件。而这个文件名就是data.txt
中的姓名加上.txt
后缀构成。