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


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

Метод GetFiles возвращает доступную только для чтения коллекцию строк, представляющих имена путей к файлам. Для указания конкретного шаблона можно использовать параметр wildCards.

Если соответствующие файлы не найдены, возвращается пустая коллекция.

Для копирования файлов в каталог можно использовать метод CopyFile.

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

  1. Для получения списка файлов используйте метод GetFiles. В этом примере возвращаются все RTF-файлы в заданном каталоге.

    For Each foundFile As String In My.Computer.FileSystem.GetFiles(
        My.Computer.FileSystem.SpecialDirectories.MyDocuments,
        Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")
    
  2. Для копирования файлов используйте метод CopyFile. В этом примере производится копирование файлов в каталог с именем testdirectory.

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & My.Computer.FileSystem.GetName(foundFile))
    
  3. Закройте оператор For оператором Next.

    Next
    

Пример

В следующем примере, который объединяет вышеописанные фрагменты в завершенную форму, копируются все файлы с расширением RTF из указанного каталога в каталог с именем testdirectory.

For Each foundFile As String In My.Computer.FileSystem.GetFiles(
    My.Computer.FileSystem.SpecialDirectories.MyDocuments,
    Microsoft.VisualBasic.FileIO.SearchOption.SearchTopLevelOnly, "*.rtf")

    My.Computer.FileSystem.CopyFile(foundFile, "C:\testdirectory\" & foundFile)
Next

Безопасность

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

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

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

  • Каталог не существует (DirectoryNotFoundException).

  • Каталог указывает на существующий файл (IOException).

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

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

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

См. также

Задачи

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

Исправление неполадок, связанных с чтением из текстовых файлов и записью в такие файлы (Visual Basic)

Практическое руководство. Получение коллекции содержащихся в каталоге файлов в Visual Basic

Ссылки

CopyFile

GetFiles