2011-03-11 73 views
1

我正在製作一個數據備份程序。我需要將文件從一個文件夾複製到另一個文件夾,而某些文件仍然由正在運行的進程使用。當正在運行的進程共享文件訪問時沒關係。但如果文件不共享,我會得到例外。 (FileShare.None)如何讀取非共享文件

我想知道是否有任何方式來讀取C#中的非共享文件。

感謝,引擎蓋下

+2

如果該進程將數據寫入鎖定的文件,你想將它備份起來怎麼辦?不會寫是腐敗的,因爲寫作從未完成?我會說,如果該文件是非共享的,有一個原因... – Cipi 2011-03-11 21:24:41

+0

這是真的。但我想要備份的文件主要是用於讀取(通過一些正在運行的進程)。所以我不會在意這一步太在意數據損壞。 – user648912 2011-03-11 21:53:24

+0

是否允許創建卷影副本和備份? – Gabe 2011-03-13 00:08:06

回答

0

C#使用操作系統提供的文件訪問操作,包括文件共享行爲。所以我害怕C#不能超越這個。

0

如果您使用Vista或更高版本,有一種技術。您可以使用卷影複製功能。但是,在C#中工作將是乏味的,我可以提供的所有幫助都是參考。但是,如果您想管理解決方案,而不是發展之一,您可以使用Windows備份按計劃複製文件。

鏈接: