移动文件并保留重复项
Moving Files and Keeping Duplicates
我正在尝试移动文件并通过将 (1) 附加到其中一个重复文件来保留重复的文件名。
我正在使用
cd /D "source directory"
move *.JPG "target directory"
这并不能解决问题。有人可以帮忙吗?
感谢您的帮助。
这应该可以满足您的要求。我们 dir 并搜索源文件夹中的所有 .jpg
文件,然后检查它是否存在,如果存在,使用计数器附加一个数字,如果它不存在,我们就移动它..
@echo off
setlocal enabledelayedexpansion
set "source=D:\source\"
set "dest=D:\destination\"
set /a cnt=0
for /f "tokens=*" %%a in ('dir /S /B /A-D "%source%*.jpg"') do for /f "tokens=*" %%b in ('dir /B "%%a"') do if exist "%dest%\%%b" (
set "ext=%%~xa"
set "fname=%%~na"
if exist "%dest%\!fname!(!cnt!)!ext!" (set /a cnt=!cnt!+1)
set /a cnt=!cnt!+1
move "%%a" "%dest%\!fname!(!cnt!)!ext!"
) else move "%%a" "%dest%\%%b"
我正在尝试移动文件并通过将 (1) 附加到其中一个重复文件来保留重复的文件名。
我正在使用
cd /D "source directory"
move *.JPG "target directory"
这并不能解决问题。有人可以帮忙吗?
感谢您的帮助。
这应该可以满足您的要求。我们 dir 并搜索源文件夹中的所有 .jpg
文件,然后检查它是否存在,如果存在,使用计数器附加一个数字,如果它不存在,我们就移动它..
@echo off
setlocal enabledelayedexpansion
set "source=D:\source\"
set "dest=D:\destination\"
set /a cnt=0
for /f "tokens=*" %%a in ('dir /S /B /A-D "%source%*.jpg"') do for /f "tokens=*" %%b in ('dir /B "%%a"') do if exist "%dest%\%%b" (
set "ext=%%~xa"
set "fname=%%~na"
if exist "%dest%\!fname!(!cnt!)!ext!" (set /a cnt=!cnt!+1)
set /a cnt=!cnt!+1
move "%%a" "%dest%\!fname!(!cnt!)!ext!"
) else move "%%a" "%dest%\%%b"