我需要掃描CIFShare並獲取共享中所有文件和文件夾的文件屬性和ACL屬性。我知道在get-chilItem中有一個-recursive選項,但在如果使用-recursive選項,那麼非常大的份額非常耗時。我知道這可以通過多線程來實現。get-childItem的PowerShell多線程
假設層次結構是這樣的: -
Root
Root\FolderA
Root\FolderA\FolderA1\FolderA2\FolderA3\FolderA3\FolderA4
Root\FolderB\..
..
我已經得到了腳本獲取根的所有文件的文件屬性和ACL和文件夾,並開始工作的每個文件夾在沒有任何錯誤的情況下運行的根目錄(文件夾A,文件夾B等)。我試圖爲每個文件夾(目錄結構中的所有級別)創建作業,並且這反過來導致作業被掛起或者PowerShell被關閉。 我正在使用PowerShell V2.0,並且在我們的環境中不能在該版本中進行任何升級。如果這是一個非常愚蠢的問題,我對PowerShell很陌生,請原諒。
在此先感謝您的幫助。
添加更多的線程是不可能給你的性能提升,並能很可能使它更慢。這裏的限制因素很可能是磁盤驅動器的速度,如果您添加多個線程向其發出請求,那麼您只需添加額外磁盤搜索的開銷。 –