我正在编写一个脚本,用于在与文件名相对应的文件夹中复制文件,并且我使用 FOR 循环解决了该部分,该循环检查以确保目标文件夹存在并在验证后复制文件确实如此. 示例:11-01111_ABC_DEF.pdf 将进入 /11/0111/。长度可能会相差一两个字符,但格式是一致的。我在下面复制了我的基本脚本。
我的问题是有时需要处理同名文件。如果目标文件夹中已存在一个或多个文件副本,我该如何将数字连接到文件末尾?
setlocal enableextensions enabledelayedexpansion
for %%x in (*.PDF *.TXT) do (
set "source="C:\files"
set "dest=R:\"
set "filename=%%x"
set "prefix=!filename:~0,2!"
set "folder=!filename:~3,5!"
if not exist !dest!\!prefix!\!folder! MOVE !filename! !source!\failed
if exist !source!\!filename! MOVE !filename! !dest!\!prefix!\!folder!
)