Поделиться через


Метод My.Computer.FileSystem.CopyFile

Обновлен: Ноябрь 2007

Выполняет копирование файла в новое место.

' Usage
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,overwrite)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,showUI)
My.Computer.FileSystem.CopyFile(sourceFileName ,destinationFileName ,showUI ,onUserCancel)
' Declaration
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String _
)
' -or-
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal overwrite As Boolean _
)
' -or-
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal showUI As UIOption _
)
' -or-
Public Sub CopyFile( _
   ByVal sourceFileName As String, _
   ByVal destinationFileName As String, _
   ByVal showUI As UIOption, _
   ByVal onUserCancel As UICancelOption _
)

Параметры

  • sourceFileName
    String. Копируемый файл. Обязательный.

  • destinationFileName
    String. Расположение, в которое должен быть скопирован файл. Обязательный.

  • overwrite
    Boolean. Указывает, выполнять ли перезапись существующих файлов. По умолчанию используется значение False. Обязательный.

  • showUI
    UIOption. Указывает, следует ли осуществлять визуальное отслеживание хода выполнения операции. По умолчанию используется значение UIOption.OnlyErrorDialogs. Обязательный.

  • onUserCancel
    UICancelOption. Определяет выполняемые действия, если во время операции пользователь нажмет кнопку Отмена. По умолчанию используется значение ThrowException. Обязательный.

Исключения

Исключение может возникнуть при следующих условиях:

  • Путь является недопустимым по одной из следующих причин: строка имеет нулевую длину; строка содержит только пробелы; строка содержит недопустимые символы; строка является путем устройства (начинается с \\.\) (ArgumentException).

  • Системе не удается извлечь абсолютный путь (ArgumentException).

  • destinationFileName содержит информацию о пути (ArgumentException).

  • Путь является недопустимым, поскольку он равен Nothing (ArgumentNullException).

  • Параметр destinationFileName равен Nothing или является пустой строкой (ArgumentNullException).

  • Исходный файл не является допустимым или не существует (FileNotFoundException).

  • Комбинированный путь указывает на существующий каталог (IOException).

  • Файл уже существует, а параметр overwrite имеет значение False (IOException).

  • Пользователь не имеет необходимых разрешений для доступа к файлу (IOException).

  • Файл в папке назначения с тем же именем уже используется (IOException).

  • Имя файла или каталога в пути содержит двоеточие (:) или имеет недопустимый формат (NotSupportedException).

  • Параметр UICancelOption установлен в ThrowException, при этом пользователь отменил операцию (OperationCanceledException).

  • UICancelOption установлен в ThrowException, и возникла неопределенная ошибка ввода-вывода (OperationCanceledException).

  • Длина пути превышает максимальную длину, определенную в системе (PathTooLongException).

  • У пользователя нет необходимого разрешения (UnauthorizedAccessException).

  • У пользователя нет необходимых разрешений для просмотра пути (SecurityException).

Заметки

CopyFile не сохраняет элементы управления доступом. Вновь созданный файл наследует элементы управления доступом по умолчанию из каталога, в котором он создан.

Задачи

В следующей таблице приведены примеры задач, в которых используется метод My.Computer.FileSystem.CopyFile.

To

См. разделы

Копирование файла в тот же каталог

Практическое руководство. Создание копии файла в том же каталоге в Visual Basic

Копирование файла в другой каталог

Практическое руководство. Создание копии файла в другом каталоге в Visual Basic

Пример

В этом примере файл Test.txt копируется в каталог TestFiles2 без перезаписи существующих файлов.

My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2")

Замените пути на те, которые требуется использовать в коде.

В этом примере файл Test.txt копируется в каталог TestFiles2 и переименовывается в NewFile.txt.

My.Computer.FileSystem.CopyFile _
("C:\UserFiles\TestFiles\test.txt", _
"C:\UserFiles\TestFiles2", "NewFile.txt", FileIO.UICancelOption.DoNothing)

Замените пути на те, которые требуется использовать в коде.

Требования

Пространство имен:Microsoft.VisualBasic.MyServices

Класс:FileSystemProxy (предоставляет доступ к FileSystem)

Сборка: библиотека времени выполнения Visual Basic (в Microsoft.VisualBasic.dll)

Доступность по типу проекта

Тип проекта

Доступность

Приложение Windows

Да

Библиотека классов

Да

Консольное приложение

Да

Библиотека элементов управления Windows

Да

Библиотека веб-элементов управления

Да

Служба Windows

Да

Веб-узел

Да

Разрешения

Могут потребоваться следующие разрешения.

Разрешение

Описание

EnvironmentPermission

Управляет доступом к переменным среды. Связанное перечисление: Unrestricted.

FileIOPermission

Управляет доступом к файлам и папкам. Связанное перечисление: Unrestricted.

RegistryPermission

Управляет доступом к переменным реестра. Связанное перечисление: Unrestricted.

UIPermission

Управляет разрешениями, относящимися к пользовательским интерфейсам и буферу обмена. Связанное перечисление: SafeSubWindows.

Дополнительные сведения см. в разделах Управление доступом для кода и Запрос разрешений.

См. также

Задачи

Практическое руководство. Копирование файлов в каталог с использованием шаблона в Visual Basic

Практическое руководство. Создание копии файла в том же каталоге в Visual Basic

Практическое руководство. Копирование каталога в другой каталог в Visual Basic

Практическое руководство. Переименование файла в Visual Basic

Ссылки

Объект My.Computer.FileSystem

Перечисление UICancelOption