bat 文件来获取文件的最新版本

问题描述 投票:0回答:1

我希望我能在这里得到一些帮助。 我有一个很长的带有版本控制的文件列表(例如版本 1、2、3、4)。 我正在使用 bat 脚本从服务器下载这些文件。 无论如何,是否有bat脚本来检查并仅下载最新版本?文件名结构始终相同,但每个时期的最新版本可能不同,并且可能从 1 到通常最多 10 不等。

这就是我正在使用的脚本。

copy \\server\folder\IAV95401*.CSV C:\folder\
set /p=

在下面的屏幕截图中,您可能会看到文件命名的样子。

Screenshot of the files in the folder

我目前正在下载所有文件并手动删除不需要的文件。对于数百个文件,这是大量的手动工作。

我希望脚本只下载屏幕截图中的 3 个文件

IAV95402_2340_06__PANEL.CSV
IAV95402_2341_05__PANEL.CSV
IAV95402_2342_07__PANEL.CSV
batch-file version-control
1个回答
0
投票

我认为这个解决方案应该适合你:

@echo off
setlocal

rem Browse all files and keep just the last version of each unique files
for /F "tokens=1,2* delims=_" %%a in ('dir /A-D /B \\server\folder\IAV95402*.CSV') do set "last[%%a_%%b]=%%a_%%b_%%c"

rem Copy just the last versions
for /F "tokens=2 delims==" %%a in ('set last[') do copy \\server\folder\%%a C:\folder\
© www.soinside.com 2019 - 2024. All rights reserved.