使用PowerShell我可以用下面的命令目錄:如何編寫PowerShell函數來獲取目錄?
Get-ChildItem -Path $path -Include "obj" -Recurse | `
Where-Object { $_.PSIsContainer }
我更願意寫一個函數,因此命令更具可讀性。例如:
Get-Directories -Path "Projects" -Include "obj" -Recurse
而下面的函數正是這麼做的,除了處理-Recurse
優雅:
Function Get-Directories([string] $path, [string] $include, [boolean] $recurse)
{
if ($recurse)
{
Get-ChildItem -Path $path -Include $include -Recurse | `
Where-Object { $_.PSIsContainer }
}
else
{
Get-ChildItem -Path $path -Include $include | `
Where-Object { $_.PSIsContainer }
}
}
我怎樣才能從我的Get-目錄功能刪除if
陳述或者這是一個更好的辦法做它?
考慮使用-Filter代替-Include,除非你需要包含多個項目。對於* .txt之類的內容,-Filter可以顯着加快。或者你可以隨時添加。 – 2010-07-17 16:51:24