我想我們都知道PsIsContainer方法來檢查當前文件是否是文件夾。但在我的項目中,我需要一種快速瞭解文件夾中文件夾數量的方法。我需要的只是快速獲得他們的號碼。我想寫一個看起來像C:\folder;12
的.txt行。這意味着在該文件夾中使用-recurse參數,將會有12個文件夾。Powershell:快速計數容器
爲了解釋原因,當我切斷用於分析某些文件夾的程序時,我需要保存工作進度。當分析文件夾時,結果將被寫入第二個.txt文件。例如,如果一個文件夾被稱爲C:\ folder \ folder1,文件夾將被分析,然後folder1也將被分析。這使文件夾在文件中出現兩次,因爲全名總是被寫入。我想要做的是計算寫入C:\文件夾的行數。如果它等於下一個數字,它就是第一個.txt中的路徑,這意味着該文件已被分析過,並且該功能不需要再次執行。
有人有解決方案嗎?或者,也許另一個想法來保存進度?因爲我真的有這種感覺,這太耗時了。
謝謝你的幫助。
可能[重複問題](http://stackoverflow.com/questions/12934106/counting-folders-with-powershell) – DarkLite1
P問題在於,通過這種解決方案,我只能計算文件夾,我不能(或者我不知道如何)在where-object cmdlet中添加另一個條件。例如,我想把條件檢查,如果我的函數返回一個大於某個閾值的數字,我怎麼能做到這一點? '$ i =(gci -force -recurse | where-object {$ _。PSIsContainer(function1 -gt $ threshold)})。Count' does not work。編輯:好吧,我討厭自己這個。我明白了,沒關係。 但程序執行仍然太長 – Kikopu
爲了加快速度,最好使用'Get-ChildItem -Force -Recurse -Directory',我相信在PowerShell 3.0中可以使用'-Directory'開關。 – DarkLite1