Скопируйте файл в папку, используя путь к файлу в C # - PullRequest
2 голосов
/ 28 декабря 2010

У меня есть [Источник: (путь)] файла, который необходимо скопировать в папку [DestinationC: \ MyFiles \ TempFolder]

Предположим, путь: C: \ Documents and Settings \ MyName \ Мои документы \ xyz.doc Я хочу, чтобы xyz.doc был скопирован в C: \ MyFiles \ TempFolder \, т.е. местоположение становится C: \ MyFiles \ TempFolder \ xyz.doc

возможно ли переименовать файл при копировании в папку назначения?

Благодарю вас ...

Ответы [ 2 ]

8 голосов
/ 28 декабря 2010

Все, что вам нужно, это System.IO.File.Copy(): http://msdn.microsoft.com/en-us/library/c6cfw35a.aspx

File.Copy("C:\Documents and Settings\MyName\My Documents\xyz.doc", "C:\MyFiles\TempFolder\" + newFilenName);

(будьте осторожны с \ в строках выше, они должны быть экранированы \\)

Копирование - это создание нового файла с тем же содержимым старого, поэтому новое имя не должно совпадать со старым именем. Фактически, если вы рассматриваете полный путь как часть имени файла, вы можете видеть, что источник и пункт назначения отличаются от начала, даже если вы не измените xyz.doc.

3 голосов
/ 13 января 2011

Хорошо ... вы можете использовать Копировать, но вам нужно проверить, присутствует ли каталог:

string file = @"C:\Documents and Settings\MyName\My Documents\xyz.doc";
string destination = @"C:\MyFiles\TempFolder";

if(!System.IO.Directory.Exists(destination))
{
 System.IO.Directory.CreateDirectory(destination);
}

destination = System.IO.Path.Combine(destination, System.IO.Path.GetFileName(file));
System.IO.File.Copy(file, destination);

Изменен код для соответствия вашему примеру.

...