У меня есть несколько папок с несколькими версионными файлами.Например, filename_v1-xx.xlsx.Я ищу способ, через пакетный файл, чтобы найти наибольшее число хх, и создать копию файла с именем файла, измененным на хх + 1.
Так что, если он находит filename_v1-55.xlsx, ему нужно создать копию в той же папке с именем filename_v1-56.xlsx.
Я нашел это: Выберите файл с наибольшим номером - Пакетный файл , который позволяет мне найти наибольшее число файлов, но я не могу понять, как создать новый файл с новым именем файла,
То, что у меня пока есть:
@echo off
setlocal enabledelayedexpansion
set max=0
for %%x in (Camera-Data-v1-*.xlsx) do (
set "FN=%%~nx"
set "FN=!FN:Camera-Data-v1-=!"
if !FN! GTR !max! set max=!FN!
)
echo highest version: Camera-Data-v1-%max%.xlsx
set newMax=%max%+1
echo Camera-Data-v1-%newMax%.xlsx
pause
Это эхо."самая высокая версия: Camera-Data-v1-74.xlsx Camera-Data-v1-74 + 1.xlsx"
Так что я думаю, что это set newMax=%max%+1
, что неправильно, я использую эхо вместоскопируйте для тестирования, если эхо говорит правильное имя файла, я изменю на copy Camera-Data-v1-%max%.xlsx Camera-Data-v1-%newMax%.xlsx
.
Номер переменной в имени файла всегда будет состоять из двух символов, иногда начиная с 0.