Добавить метку времени и переместить файл C # - PullRequest
0 голосов
/ 29 сентября 2019

Я пытаюсь переместить и переименовать файл, добавив метку времени к имени следующим образом:

private void MoveFile(string from, string to, string filename) {

    File.Move(from, System.IO.Path.Combine(to, filename + DateTime.Now.ToString().Replace(":", "-")));
}

Я называю это так:

MoveFile(currentPath, outputFolderPath, System.IO.Path.GetFileName(currentPath));

Этоприводит к следующему исключению:

Возникло исключение: 'System.IO.DirectoryNotFoundException' в mscoorlib.dll.

Это работает, если я удаляю добавление метки времени. Почему я получаю эту ошибку?

1 Ответ

0 голосов
/ 29 сентября 2019

Если вы используете свою функцию следующим образом:

MoveFile(@"C:\Users\Admin\Desktop\IMG_5628.png", @"C:\Users\Admin\Desktop", "IMG_5628.png");

, тогда ваш путь будет выглядеть следующим образом:

C:\Users\Admin\Desktop\IMG_5628.png30.09.2019 2-33-34

Измените свою функцию следующим образом:

    MoveFile(@"C:\Users\Admin\Desktop\IMG_5628.png", @"C:\Users\Admin\Desktop", "IMG_5628.png");

    private void MoveFile(string from, string to, string filename)
    {
        File.Move(from, System.IO.Path.Combine(to, System.IO.Path.GetFileNameWithoutExtension(filename) + DateTime.Now.ToString("yyyy-dd-M--HH-mm-ss") + System.IO.Path.GetExtension(filename)));
    }

И путь к вашему файлу будет действительным.

C:\Users\Admin\Desktop\IMG_56282019-30-9--02-39-03.png
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...