如何批量复制和重命名文件?

如何批量复制和重命名文件?

我使用的是 Windows Server 2012 R2。我有一个包含一堆文件的文件夹,我想将该文件夹中的每个文件复制 20 次到另一个文件夹,但新复制的文件必须使用单个字母顺序重命名。例如,名为“orange.html”的文件被复制 20 次并移动到另一个文件夹。新文件夹将包含 20 个新复制的文件,文件名为 a.html、b.html、c.html 等。

这是代码,但它只是按数字增加,但我想按字母增加

@echo off

for /L %%i IN (1,1,100) do call :docopy %%i
goto end

:docopy
set FN=00%1
set FN=%FN:~-3%

copy source-file.html poll%FN%.html

:end

答案1

它确实按数字递增,但我想按字母递增

以下批处理文件(test.cmd)可以帮助您入门:

@echo off
setlocal enableDelayedExpansion
set "chars=abcedefhijklmnopqrstuvwxyz"
for /l %%i in (0,1,25) do (
  echo copy source-file.html folder\poll!chars:~%%i,1!.html
  )
endlocal

笔记:

  • 这是一个部分答案,因为您的要求不明确。
  • 使用上述批处理文件作为起点
  • 它展示了如何使用字母表中的增量字母构造文件名。

示例输出:

copy source-file.html folder\polla.html
copy source-file.html folder\pollb.html
copy source-file.html folder\pollc.html
copy source-file.html folder\polle.html
copy source-file.html folder\polld.html
copy source-file.html folder\polle.html
copy source-file.html folder\pollf.html
copy source-file.html folder\pollh.html
copy source-file.html folder\polli.html
copy source-file.html folder\pollj.html
copy source-file.html folder\pollk.html
copy source-file.html folder\polll.html
copy source-file.html folder\pollm.html
copy source-file.html folder\polln.html
copy source-file.html folder\pollo.html
copy source-file.html folder\pollp.html
copy source-file.html folder\pollq.html
copy source-file.html folder\pollr.html
copy source-file.html folder\polls.html
copy source-file.html folder\pollt.html
copy source-file.html folder\pollu.html
copy source-file.html folder\pollv.html
copy source-file.html folder\pollw.html
copy source-file.html folder\pollx.html
copy source-file.html folder\polly.html
copy source-file.html folder\pollz.html

进一步阅读

  • Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
  • 启用延迟扩展- 延迟扩展将导致变量在执行时而不是在解析时扩展。
  • 对于/l- 有条件地对一系列数字执行命令。
  • - 显示、设置或删除 CMD 环境变量。使用 SET 所做的更改将仅在当前 CMD 会话期间保留。
  • 变量- 提取变量的一部分(子字符串)。

相关内容