台灣最大程式設計社群網站
線上人數
564
 
會員總數:231134
接案會員:6781
文章總數:2319
討論主題:175378
歡迎您免費加入會員
討論區列表 >> C# >> 請問如何知道一個指定的檔案被複製或搬走了??
[變換順序]
[我要回覆]
1


回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
請問如何知道一個指定的檔案被複製或搬走了??
價值 : 30 QP  點閱數:2304 回應數:4

樓主

coll
門外漢
0 9
192 7
發送站內信

想請問~
如果已經記錄檔案的位置了..
例如 C:\AA\BB\CC.txt
怎麼可以即時知道這個檔案被複製到某處..
或是BB資料夾、CC.txt檔案被搬走到某處呢??

在指定的路徑下(目錄或檔案)
fileWatcher可以監看onChange、onCreat、onRename、onDelete..

現在遇到的問題是,如果使用者把檔案或是資料夾搬走..就監看不到了..
另外,也不能監看到已經被複製的檔案..

該從何著手呢??

謝謝



本篇文章發表於2006-10-14 02:04
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
4樓
恩恩恩~~HUWK 還是利害的啦!!
你可以試試看喔!!!
我好笨喔!!


本篇文章回覆於2006-11-27 16:39
--未登入的會員無法查看對方簽名檔--
3樓
回應

huwk
捐贈 VP 給 huwk 檢舉此回應
想到一個最笨的方法..可以解決部份你的問題,若只是想要記錄某個檔案是否被複制成了其它檔名~

那就是你開二個FileSystemWatcher,一個有指定filter成你要的監看檔名(做你原來監控的事項)
另一個不指定filter,當這個FileSystemWatcher發現在檔案被create時,使用fileinfo與原檔案做大小等等的比對,若是相同,那就做對應的記錄!

若你在記錄的同時,也可以再建立另一個FileSystemWatcher去監看這個檔案.不過我覺得這樣子是沒完沒了的!若配合其它控管機制,應是比較好的方式,要不然現在usb那麼方便,放一個usb把檔案copy走,或許你也沒管制到才對!

本篇文章回覆於2006-10-17 21:38
--未登入的會員無法查看對方簽名檔--
2樓
回應

孤雁單飛
捐贈 VP 給 孤雁單飛 檢舉此回應
被搬走是可以檢測到...但是檢核檔案是否被複製過就不行了...

本篇文章回覆於2006-10-17 20:03
--未登入的會員無法查看對方簽名檔--
1樓
要是被搬走了
那麼你的執行程式就裡當不應搜尋了
那你又自行寫一段迴值
當被搬走時馬上回覆紀錄檔
或許這樣子就不怕了阿
是是看吧

本篇文章回覆於2006-10-14 09:22
--未登入的會員無法查看對方簽名檔--
[變換順序]
1
 

回覆
如要回應,請先登入.