我有多个文件夹,其中有多个版本文件。例如filename_v1-xx.xlsx。我正在寻找一种通过批处理文件定位最高xx号并创建文件副本并将文件名更改为xx + 1的方法。
因此,如果找到filename_v1-55.xlsx,则需要在名为filename_v1-56.xlsx的同一文件夹中创建一个副本。
我发现了这一点:Choose Highest Numbered File - Batch File使我能够找到最大的文件编号,但是我不知道如何用新文件名创建新文件。
到目前为止,我有:
@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
错了,我使用的是echo而不是copy进行测试,如果echo表示正确的文件名,我将更改为copy Camera-Data-v1-%max%.xlsx Camera-Data-v1-%newMax%.xlsx
。
文件名中的变量号将始终为两个字符,有时以0开头。
答案 0 :(得分:1)
解决了,谢谢@Aacini运作完美!
public JObject GetStatus(GetStatusRequest request)
{
var responseArr = new JArray();
var customers = GetCustomers(request.CustomerId);
foreach (var c in customers)
{
responseArr.Add(FormatRequest(customers));
}
return new JObject
{
["customers"] = responseArr
};
}