Как мой код в настоящее время написан, он изменит имя файла на текущую дату, а затем переместит его в завершенную папку в подкаталоге. Все работает отлично.Как получить добавочное значение, чтобы сохранить его счет
То, что я пытаюсь реализовать, это возможность переименовать его с разными номерами, если есть дубликаты. В принципе, если файл уже существует в завершенной папке, он переименует его «дата» (1) .csv.
Моя проблема в том, что, поскольку i установлен в 1, даже если я увеличиваю i, он сбрасывает его обратно на 1. Я просто хочу, чтобы он удерживал увеличиваемое значение во время работы кода. если в папке, из которой она извлекается три файла, я хочу, чтобы они обозначали их «дата», «дата» (1) и «дата» (2). Затем, если код снова запустится завтра, он начнет отсчет. Скорее всего, мой код никогда не будет иметь больше одного файла в папке. Я хочу реализовать это как безопасность. Если по какой-либо причине в папке содержится более одного файла, я хочу, чтобы мой код еще мог работать.
Это то, что я до сих пор:
int i = 1;
var newFileName = DateTime.Now.ToString("MMddyyyy") + ".csv";
destinationPath = Path.Combine(GenesisDirectory, "Completed");
Directory.CreateDirectory(destinationPath);
var destinationFileName = Path.GetFileName(newFileName);
destinationPath = Path.Combine(destinationPath, destinationFileName);
if (File.Exists(destinationPath))
{
newFileName = DateTime.Now.ToString("MMddyyyy") + "(" + i + ")" + ".csv";
destinationFileName = Path.GetFileName(newFileName);
var Dironly = Path.GetDirectoryName(destinationPath);
destinationPath = Path.Combine(Dironly, destinationFileName);
i++;
}
File.Move(inputFile, destinationPath);
Как сбросить 'i' до' 1'? Если вы используете этот код более одного раза, вы каждый раз объявляете новый 'int i = 1;' каждый раз. Возможно, переместить переменную в другую область? – David
Вам нужно сохранить этот счетчик где-нибудь. –
Я бы просто хотел сказать, что ваш нынешний подход абсолютно прекрасен. Он будет работать каждый раз, и если он будет работать только пару раз в день, слегка уменьшенная производительность не имеет значения. – Sphinxxx