2

FILELISTSという名前のテーブルがあります

Table Name - Filelists
Field - FileNames

データ値

  1. File1.txt
  2. File2.csv
  3. File3 * .csv

上記のように、ソースから宛先にコピーする必要のあるファイル名(file1.txtやfile2.txtなど)がある場合は、コードを書くのに苦労しています。ファイル名がpattern(File3 * .csvなど)の場合、このパターンに一致するすべてのファイルをソースから宛先にコピーします。

データリーダーを使用して、Vb.netの上記の行を列挙しています。

4

2 に答える 2

2

Directory.EnumerateFilesとを使用できますFile.Copy。たとえば、次のようになります。

var filePatterns = database.GetFileNamePattern(); // your method that returns the list of files
// assuming you've stored the source- and dest.-directories in the app-settings
string sourceFolder = Properties.Settings.Default.SourceFolder;      
string destFolder = Properties.Settings.Default.DestinationFolder;
foreach (string pattern in filePatterns)
{
    var files = Directory.EnumerateFiles(
        sourceFolder,
        pattern,
        SearchOption.TopDirectoryOnly);
    foreach (string file in files)
    {
        File.Copy(file, Path.Combine(destFolder, Path.GetFileName(file)), true);
    }
}

編集:申し訳ありませんが、ここではVB.NETバージョン:

' your method that returns the list of files:
Dim filePatterns = database.GetFileNamePattern()  
' assuming you've stored the source- and dest.-directories in the app-settings
Dim sourceFolder As String = My.Settings.SourceFolder
Dim destFolder As String = My.Settings.DestinationFolder
For Each pattern As String In filePatterns
    Dim files = Directory.EnumerateFiles(sourceFolder, pattern, SearchOption.TopDirectoryOnly)
    For Each file As String In files
       IO.File.Copy(file, IO.Path.Combine(destFolder, IO.Path.GetFileName(file)), True)
    Next
Next
于 2012-12-10T16:10:19.983 に答える
0

DirectoryInfo、FileInfo ---投稿をクリックする前に他の質問を削除しました...しかし、これはあなたが尋ねたように.netFramework2.0で機能します

Option Strict On
Imports sO = System.IO.SearchOption
Imports dI = System.IO.DirectoryInfo
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        For Each F In (New dI("C:\")).GetFiles("*.*", sO.TopDirectoryOnly)
            MsgBox(F.FullName)
            'Do your copy here
        Next
    End Sub
End Class
于 2012-12-11T08:10:42.007 に答える