0

コピー プロセス中にコピーされる特定のファイルを除外する方法。name.xml、address.xml、data.xml などをコピー対象から除外したい

私が使用するMSDNのコードは次のとおりです。

    Dim BackupDir As String = Application.StartupPath & "\backup"
    Dim sourceDir As String = Application.StartupPath

    If Not Directory.Exists(BackupDir) Then
        IO.Directory.CreateDirectory(BackupDir)
    End If

    Try
        Dim xmlList As String() = Directory.GetFiles(sourceDir, "*.xml")

        For Each f As String In xmlList
            'Remove path from the file name.
            Dim fName As String = f.Substring(sourceDir.Length + 1)
            File.Copy(Path.Combine(sourceDir, fName), Path.Combine(BackupDir, fName), True)
        Next
    Catch copyError As IOException
        Console.WriteLine(copyError.Message)
    End Try
4

1 に答える 1

1

コピーしたくないファイルの名前で List(Of String) を準備しPath.GetFileName、Directory.GetFiles() によって返された完全なファイル名からファイル名を抽出するために使用します。コピーチェックを実行する前に、ファイルがリストに含まれているかどうかを確認しますexcludedFiles

   Dim excludeFiles = new List(Of String)()
   excludedFiles.Add("file1.xml")
   excludedFiles.Add("file2.xml")
   excludedFiles.Add("file3.xml")


   For Each f As String In xmlList
        'Remove path from the file name.
        Dim fName As String = Path.GetFileName(f)
            if excludedFiles.IndexOf("file3.xml", _
               StringComparison.CurrentCultureIgnoreCase) <> -1 Then
            File.Copy(f, Path.Combine(BackupDir, fName), True)
        End If
    Next
于 2013-05-19T19:28:07.417 に答える