2017-04-25 23 views
1

フォルダから最新のファイルを返す次のスクリプトがありますが、実際に同時に2つのファイルが作成されていることを確認する必要があります。私はSSISは日付/時刻と名前に基づいてフォルダから最新のファイルを取得します

ファイル1 =名「オープン12345」

ファイル2 =名「閉じる12345」

ファイル2がそのようにファイル1の後に10秒を作成して、それは例えば1の特定をのみを選択します最新のものですが、無視してファイル1のみを取得する必要があります。ファイルの後の数字はランダムなので、最初の部分で一致させる必要があります名前の唯一

コードが

Public Sub Main() 

    Dim recentFile 
    Dim fi As System.IO.FileInfo 
    Dim fis() As System.IO.FileInfo 
    Dim dir As New System.IO.DirectoryInfo("\\Test Folder\") 

    fis = dir.GetFiles() 
    For Each fi In fis 
     If (recentFile Is Nothing) Then 
      recentFile = fi 
     ElseIf (recentFile.LastWriteTime < fi.LastWriteTime) Then 
      recentFile = fi 
     End If 
    Next 

    recentFile.CopyTo("\\Test Folder\Import\Open.xls") 
    ' 
    Dts.TaskResult = Dts.Results.Success 
End Sub 

ヘルプが

答えて

0

が、私はミッド(fi.Name、1、4)場合は、チェック

を挿入して、それを自分自身に答えてきたと存じ感謝の瞬間に使用= "Open"これは任意の名前にすることができます。比較するテキストの長さに合わせて長さ(4)を調整するだけです

このセクションは

になります
For Each fi In fis 
If Mid(fi.Name, 1, 4) = "Open" Then 
    If (recentFile Is Nothing) Then 
     recentFile = fi 
    ElseIf (recentFile.LastWriteTime < fi.LastWriteTime) Then 
     recentFile = fi 
    End If 
end if 
Next 
関連する問題