【问题标题】:Windows Batch file to copy certain file types from subdirectories to one folder with renameWindows批处理文件将某些文件类型从子目录复制到一个文件夹并重命名
【发布时间】:2012-12-14 21:23:20
【问题描述】:

我曾尝试制作一个批处理脚本,将位于 G:(此处为随机命名的子文件夹)\000.mpg 中的所有 *.mpg 文件复制到 E:\PVR。

for /R g:\ %%f in (*.mpg) do copy %%f E:\PVR\

问题是源文件名相同,而它们是所有子文件夹中具有相同名称的不同文件。该脚本会覆盖以前的文件,因此在批量复制后我只有最后一个文件。请帮我用计数器或其他东西重命名复制的文件。

【问题讨论】:

  • 你的问题就是我问题的答案。谢谢!

标签: windows batch-file cmd copy


【解决方案1】:

这应该可以解决问题。

@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-28
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-02
    相关资源
    最近更新 更多