回答
您是否嘗試導入kernel32.dll
並使用它?
有人在此之前發佈了一個很好的實現示例:https://stackoverflow.com/a/724184/912851。這可能值得一看。
編輯: 我看到我生命中最快的一個是this application。它使用ntfs日誌。並且在幾秒鐘內它就會在我的硬盤上列出數百萬個文件。 我認爲他們有一個sdk和C++或c上的源代碼。也許你可以創建一個託管的DLL並在C#上使用?
是的,我也嘗試過,它真的很慢。但是,謝謝 – animaonline
我很好奇,所以我做了一個小代碼來比較目錄樹上的兩種方法與42k文件:GetFiles = 1.2秒,此方法= 650毫秒。所以它已經快了兩倍...... Oded已經在上面寫過了,IO很慢,你不會立即得到成千上萬個文件的結果...... – Fabske
Func<string, int> files = null;
files = p => Directory.GetFiles(p).Length() + Directory.GetDirectories(p).Select(p1 => files(p1));
int count = files(@"c:\");
可怕,但linqy!
Directory.GetFiles()不是替代^^ – animaonline
這是如何解決OP詢問的_slowness_問題? – Oded
可怕的是,使用GetFiles,並且...不能編譯:p – Fabske
- 1. PowerShell驅動器計算器
- 2. 計算驅動器powershell的全部文件和文件夾
- 3. 閃存驅動器自動刪除文件,計算機檢測
- 4. C#計算機名稱或網絡上的計算機ip關驅動器號
- 5. PostgreSQL,計算驅動程序的數量?
- 6. 從'計算機'訪問USB驅動器
- 7. 刪除驅動器上的文件夾
- 8. 谷歌驅動器企業中的計數文件
- 9. 網絡驅動器上訪問文件
- 10. 谷歌驅動器sdk上傳文件
- 11. 上訪問遠程驅動器從遠程計算機與PSEXEC
- 12. 當閃存驅動器插入計算機時使文件自動運行
- 13. 計算上傳文件的數量
- 14. 確定驅動器的大小(驅動器上沒有文件系統)Win7
- 15. 如何用Python確定驅動器上的文件數量?
- 16. 上傳時保存文件驅動器文件的擴展
- 17. OneDrive API(其餘)。驅動器上的文件夾和文件
- 18. 查詢遠程計算機上設備管理器的磁盤驅動器
- 19. 鏈接到iPhone上的Windows共享驅動器上的文件
- 20. 計算FTP服務器上文件的數量
- 21. 谷歌驅動器上的Chromecast接收器的主機文件
- 22. 在用戶計算機上啓動chrome驅動程序
- 23. 動態計算器通過MATHML,乳膠驅動,或
- 24. 將上傳的文件移動到網絡驅動器中
- 25. 無法檢索文件上傳到谷歌驅動器應用程序文件夾的驅動器號碼
- 26. 將所有驅動器上的文件/文件夾複製到外部驅動器?
- 27. Google Drive Android API如何將音頻文件上傳到我的驅動器?如何同步驅動器文件?
- 28. 谷歌驅動器上傳文件,讀取文件
- 29. 計算器上的動作3
- 30. 域驅動設計和文件存儲
什麼樣的答案是這樣的?必須有某種方式,我們有NTFS日誌,我們有WMI等等lol – animaonline
這是關於問題的一個_comment_,而不是一個答案。而你只是說'GetFiles'「很慢」。你的定義是什麼?這個問題缺乏細節。 – Oded
如果您有NTFS日記帳,則可以在開始時執行Directory.GetFiles(),然後使用日記帳維護計數器。 – volody