Ped*_*eto 2 windows cmd copy batch-file
我曾尝试制作一个批处理脚本,将位于G :(随机命名的子文件夹)\ 000.mpg中的所有*.mpg文件复制到E:\ PVR.
for /R g:\ %%f in (*.mpg) do copy %%f E:\PVR\
Run Code Online (Sandbox Code Playgroud)
问题是源文件名是相同的,而它们是所有子文件夹中具有相同名称的不同文件.该脚本将覆盖以前的文件,因此我只有批量复制后的最后一个文件.请帮我用计数器或其他东西重命名复制的文件.
这应该可以解决问题.
@echo off
setlocal disableDelayedExpansion
set "src=."
set "dest=\temp"
set mask=*.mpg
for /r "%src%" %%F in (%mask%) do (
if exist "%dest%\%%~nxF" (call :copyDup "%%F") else copy "%%F" "%dest%" >nul
)
exit /b
:copyDup
set /a cnt=1
:loop
set /a cnt+=1
if exist "%dest%\%~n1(%cnt%)%~x1" goto :loop
copy %1 "%dest%\%~n1(%cnt%)%~x1" >nul
exit /b
Run Code Online (Sandbox Code Playgroud)