0
我打算開發一個文件組織軟件,用於檢測到達特殊文件夾的文件並將這些文件複製到特定文件夾(例如.txt文件轉到文本文件夾)。我正在使用FileSystemWatcher
。獲取文件或文件夾複製完成狀態
用於檢測文件。所以我想知道是否通過C#代碼完成文件或文件夾複製操作(手動複製文件或文件夾)。
單文件程序沒問題。但對於多個文件需要改進程序。
我用這個循環來檢查文件是否被釋放,但是對於大文件,這使得程序沒有響應。
void File_move(string source,string destination)
{
EE:
try
{
File.Move(source, destination);
}
catch (Exception ex)
{
lblStatus.Text = "Waiting for file copping complete";
Application.DoEvents();
goto EE;
}
}
您無法獲取操作的當前運行狀態。但是FileSystemWatcher應該在創建文件時引發「創建」事件或其他事情 - 問題在於,我認爲它是在複製剛剛開始並正在運行時創建的。你是這個意思嗎? –
你是對的。它剛剛開始複製時創建...我google了很多。我不認爲會有答案。感謝您的回覆 –
您可以繼續收聽FileSizeChanged事件或類似的事情(或上次訪問日期,即使我也認爲它在複製開始時設置一次)。但是,您需要了解何時停止複製(也許在沒有FileSizeChanged事件的一段時間之後)。 –