我想創建一個Windows服務,該服務檢測是否對文件中的任何文件進行了更改(創建,刪除或修改)系統。 當它檢測到更改時,我會檢查是否對相關文件進行更改。如果是這種情況,那麼我會將文件同步到服務器。 我知道我將如何同步這些文件,我只想知道如何創建一個事件,只要文件系統發生任何更改就會觸發。 該事件還應提供有關被修改的文件的路徑的信息,以及對該文件執行的操作。如何創建在文件系統中修改或創建或刪除任何文件後觸發的事件
0
A
回答
1
您只需要初始化FileSystemWatcher並訂閱相關事件。
FileSystemWatcher watcher = new FileSystemWatcher(@"DirectoryPath");
watcher.Filter = "*.*";//Watch all the files
watcher.EnableRaisingEvents = true;
//Specifies changes to watch for in a file or folder.
watcher.NotifyFilter = NotifyFilters.LastWrite | NotifyFilters.Size;
//訂閱以下事件
watcher.Changed += new FileSystemEventHandler(watcher_Changed);
watcher.Created += new FileSystemEventHandler(watcher_Created);
watcher.Deleted += new FileSystemEventHandler(watcher_Deleted);
//Raise when new file is created
private void watcher_Created(object sender, FileSystemEventArgs e)
{
//Sync with server
}
//Raise when file is modified
private void watcher_Changed(object sender, FileSystemEventArgs e)
{
//Sync with server
}
//Raise when a file is deleted
private void watcher_Deleted(object sender, FileSystemEventArgs e)
{
//Sync with server
}
+0
感謝您的解決方案,稍作修改。 >>代替目錄路徑,我寫了「D:\」來搜索整個驅動器。 >> watcher.IncludeSubdirectories = true;以便wacher搜索子目錄。 –
+0
@VK很高興幫助你。 – Kurubaran
相關問題
- 1. 創建或刪除觸發事件
- 2. FUSE文件系統監視任何創建/刪除的文件
- 3. 如何創建事件觸發器創建表或選擇到
- 4. 在文件中創建文件系統
- 5. 在文件系統中創建文件
- 6. 使用WatchService忽略文件事件(創建,修改,刪除)
- 7. 如何在initramfs根文件系統中添加或刪除任何文件?
- 8. 如何刪除由eclipse插件創建的本地文件系統文件
- 9. 如何在程序或觸發器中創建mysql事件?
- 10. 如何在Android的文件系統中創建子文件
- 11. 如何在lnux系統中檢測文件更改或刪除
- 12. 如何在文件系統的目錄中刪除ATR文件後重新創建ATR文件?
- 13. Node-Webkit:如何在本地文件系統中創建文件?
- 14. 使用FileSystemWatcher來觸發事件,然後刪除新創建的文件?
- 15. 如何(或可以)刪除由Zend_Search_Lucene創建的索引文件
- 16. 僅rsync日期和時間後創建或修改的文件
- 17. 如何在php中修改或刪除一行文本文件?
- 18. 更新或刪除現有文件並創建新文件
- 19. 如何創建刪除子文件夾
- 20. 如何創建或編寫STDF文件?
- 21. 在windows中創建文件系統
- 22. 在文件系統的任何位置查找正在創建的新文件
- 23. 新創建或更改文件的filewatcher
- 24. 如何在超系統中創建文本文件
- 25. 使用java.nio在文件更改中引發創建/移動/刪除事件
- 26. XPages:如何創建鏈接從文件系統下載文件
- 27. 使用biopython創建沒有創建任何文件的文件
- 28. 如何在保存文件時在文件系統上創建文件夾
- 29. 如何爲CKFinder創建重命名後或刪除後事件掛鉤?
- 30. 如何基於文本文件創建或修改基於文本文件的QT表單(編譯後)
看看這個答案:http://stackoverflow.com/questions/931093/how-do-i-make -my-program-watch-for-file-modification-in-c它也描述了C#.Net方式 –
[Directory Modification Monitoring]的可能重複(http://stackoverflow.com/questions/112276/directory-modification-監測)。 **注意:**這大多是這個問題的一個騙局。但是,請記住:FSW並不保證您會收到通知,並且如果在給定的文件系統上活動很高,則會漏掉一些。要監視的文件系統越多(例如「文件系統中的_any_文件」),FSW越有可能會錯過某些內容。 –