我必须将文件的最新版本从一个文件夹复制到另一个文件夹。
例如:
我有一个包含许多文件的文件夹,每个文件在同一个文件夹中都有多个版本文件1-a和文件1-b
我只需要复制版本文件1-b(最新版本),不要获取其他版本
我已经制作了这个批处理文件:
@echo off
set src_folder=\\ServerName\internal\file
set dst_folder=c:\Users\username\Desktop\extract-file
set file_list=c:\Users\username\Desktop\file-list.txt
if not exist "%dst_folder%" mkdir "%dst_folder%"
for /f "delims=" %%f in (%file_list%) do (
xcopy "%src_folder%\%%f**.jpg" "%dst_folder%\"
)
我写下file-list.txt
要移动的文件的名称,但不写其版本....File1 File2 File3 等等..
通过这批处理,我可以将文件从一个文件夹复制到另一个文件夹,但所有文件和所有版本
我如何复制最新版本?
例如仅复制文件1-b代替文件1-a+文件1-b
答案1
这是一个如何完成的示例,在编程中总是有几种方法可以做同一件事......
@echo off
set src_folder=%userprofile%\desktop\Source
set dst_folder=%userprofile%\desktop\Destiny
set file_list=%userprofile%\desktop\file-list.txt
if not exist "%dst_folder%" mkdir "%dst_folder%"
pushd "%src_folder%"
for /f "delims=" %%f in (%file_list%) do Call :DoCopy "%%f"
exit
:DoCopy
for /f "delims=" %%g in ('dir /b /o-n "%~1"*') do (
xcopy /f /y /h "%%g" "%dst_folder%\"
goto :EOF
)
goto :EOF