Windows 使用列表中的文件名多次复制文件的批处理脚本

Windows 使用列表中的文件名多次复制文件的批处理脚本,windows,batch-file,file-rename,file-copying,Windows,Batch File,File Rename,File Copying,我使用一个batchscript复制了两个PDF,并分别以不同的文件名输出它们 到目前为止,我所做的是 SET Template=C:\Temp\template.pdf copy /y %Template% .\%Class%\Apples_fruits.pdf copy /y %Template% .\%Class%\Oranges_fruits.pdf copy /y %Template% .\%Class%\Grapes_fruits.pdf copy /y %Template% .\

我使用一个batchscript复制了两个PDF,并分别以不同的文件名输出它们

到目前为止,我所做的是

SET Template=C:\Temp\template.pdf
copy /y %Template% .\%Class%\Apples_fruits.pdf 
copy /y %Template% .\%Class%\Oranges_fruits.pdf
copy /y %Template% .\%Class%\Grapes_fruits.pdf
copy /y %Template% .\%Class%\Bananas_fruits.pdf
copy /y %Template% .\%Class%\Strawberry_fruits.pdf
我想这样做,而不必每次都键入
copy/y
行。我想要一个
.txt
.xlsx
文件中的“水果”列表,并让批处理将列表中的项目用作文件名

例如:

Apples_fruits.pdf
Oranges_fruits.pdf
Grapes_fruits.pdf
Bananas_fruits.pdf
Strawberry_fruits.pdf
Windows 10 64位

批处理文件和fruit.txt必须位于同一目录中

SET Template=%temp%\template.pdf
SET Class=Class
IF /i not exist %Class% md %Class%
FOR /f "delims=" %%g in ('type fruit.txt') do COPY /y %Template% .\%Class%\%%g_fruits.pdf 
fruit.txt:

Apples
Oranges
Grapes
Bananas
Strawberry

除了没有定义变量
之外,我认为您的代码没有任何错误。那么你的问题到底是什么呢?你提到了.txt和.xlsx扩展名。我希望您在复制时没有更改文件扩展名。对不起,我应该说得更清楚一些。我希望这样做,而不必每次都键入copy/y行。我想在一个.txt或.xlsx文件中有一个“水果”列表,并让批处理使用列表中的项目作为文件名。你需要一个循环来迭代一个文本文件。你想做的基本上是一行。