【批处理】Windows下利用批处理实现快速复制文件并修改文件名

目录

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后缀构成。

    原文作者:清风吹南柳
    原文地址: https://blog.csdn.net/qq_23470531/article/details/121781407
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞