2017-04-03 87 views
2

我不明白爲什麼Get-ChildItem cmdlet的這兩個參數不起作用。爲了讓我的問題儘可能清楚,請看下面的例子。從PowerShell的ISE命令窗格:Get-ChildItem排除和文件參數不能一起工作

  • 類型「目錄」 - >顯示在當前目錄下的所有文件和子文件夾。

  • 輸入'dir -File' - >顯示原始列表減子文件夾。

  • 輸入「dir -Exclude」* .txt「' - >顯示原始列表減.txt文件。

  • 輸入「dir -File -Exclude」* .txt「' - > NOTHING顯示。

我希望原始列表減去子文件夾和.txt文件。但不管我用什麼參數來表示「排除」,我都沒有列出任何項目。 我已經看了Get-ChildItem -full文檔,以及相關文章(Stack Overflow)和其他可靠資源,但仍不明白爲什麼會失敗。當添加「-File」時,即使是經典的「-Include'* .txt'-Exclude'A *'」示例也會失敗。我怎樣才能使用-File和-Exclude在一起?

+5

您需要'Get-ChildItem * -File -Exclude * .txt' –

回答

1

雖然dir是Get-ChildItem的別名,但我發現最好在提供答案時使用完整的cmdlet。

要使用正確的PowerShell命令這將是最適合你使用以下命令:

Get-ChildItem * -Exclude "*.txt" -File 

什麼,你在上面看到的是PowerShell命令來獲得在指定的路徑中的所有項目(使用*假設你想從當前位置的所有項目)

您還可以使用-Path並提供路徑到你想獲得的物品爲好,如位置:

Get-ChildItem -Path "C:\Path\Folder" -Exclude "*.txt" -File 
+0

'dir'是'Get-ChildItem'的別名,cmd的'dir'是分開的。 –

+0

啊,是的,你是正確的@BaliC,對不正確的信息道歉。我會改變我的答案,謝謝你讓我知道。 – Random206