2

有没有办法制作一个批处理文件,当存在名称冲突时不会覆盖现有文件,而是将文件的两个副本保留在同一路径中?

4

1 回答 1

3

下面的批处理文件就像只包含一个文件的 COPY 命令。如果文件已存在于目标文件夹中,则将括号中的数字添加到新文件中以保留两个文件。

@echo off
Rem mycopy sourceFile targetDir
Set targetName=%~1
Set i=0
:nextName
   If not exist "%~2/%targetName%" goto copy
   Set /A i+=1
   Set targetName=%~1 (%i%)
   Goto nextName
:copy
Copy %1 "%~2/%targetName%"
于 2012-12-26T04:16:04.963 回答