Active Directory をポーリングするコンソール アプリケーションの作成を依頼されました。(C.\Temp\入力)
ファイルが で受信されると(filename).SUCCESS
、SQL クエリを実行するためにファイル名が取得されます。そう
IF fileextension = SUCCESS
filename を使用して SQL クエリを実行し、SQL テーブルの値を変更します。元のファイルを次の場所に移動しますc:\temp\Input\Processed
どんな助けやヒントも大歓迎です。
更新しました:
こんにちは、さまざまなサイトをいくつか見て、以下を思いつきました。今のところSQLを忘れて、ファイル名とファイルの移動の後でのみ、ファイルが既に使用されているというIO例外を取得しています:
System.IO をインポート System.String モジュール Module1 をインポート
Dim fileName As String = "C:\temp\Input\NR12345.success"
Dim pathname As String = "C:\temp\Input\"
Dim result As String
Dim sourceDir As String = "C:\temp\Input\"
Dim processedDir As String = "C:\temp\Input\Processed\"
Dim fList As String() = Directory.GetFiles(sourceDir, "*.success")
Sub Main()
result = Path.GetFileName(fileName)
Console.WriteLine("GetFileName('{0}') returns '{1}'", fileName, result)
result = Path.GetFileName(pathname)
Console.WriteLine("GetFileName('{0}') returns '{1}'", pathname, result)
Call MySub()
End Sub
Sub MySub()
'Move Files
For Each f As String In fList
'Remove path from the file name.
Dim fName As String = f.Substring(sourceDir.Length = 0)
Dim sourceFile = Path.Combine(sourceDir, fName)
Dim processedFileDir = Path.Combine(processedDir, fName)
' Use the Path.Combine method to safely append the file name to the path.
' Will overwrite if the destination file already exists.
File.Copy(Path.Combine(sourceDir, fName), Path.Combine(processedDir, fName), True)
'File.Copy(sourceFile, processedFileDir)
Next f
End Sub
エンドモジュール