我希望我能在这里得到一些帮助。 我有一个很长的带有版本控制的文件列表(例如版本 1、2、3、4)。 我正在使用 bat 脚本从服务器下载这些文件。 无论如何,是否有bat脚本来检查并仅下载最新版本?文件名结构始终相同,但每个时期的最新版本可能不同,并且可能从 1 到通常最多 10 不等。
这就是我正在使用的脚本。
copy \\server\folder\IAV95401*.CSV C:\folder\
set /p=
在下面的屏幕截图中,您可能会看到文件命名的样子。
我目前正在下载所有文件并手动删除不需要的文件。对于数百个文件,这是大量的手动工作。
我希望脚本只下载屏幕截图中的 3 个文件
IAV95402_2340_06__PANEL.CSV
IAV95402_2341_05__PANEL.CSV
IAV95402_2342_07__PANEL.CSV
我认为这个解决方案应该适合你:
@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\