Get-ChildItem
取得一或多個指定位置中的項目和子項目。
語法
Items (預設值)
Get-ChildItem
[[-Path] <string[]>]
[[-Filter] <string>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint32>]
[-Force]
[-Name]
[-UseTransaction]
[-Attributes <FlagsExpression[FileAttributes]>]
[-Directory]
[-File]
[-Hidden]
[-ReadOnly]
[-System]
[<CommonParameters>]
LiteralItems
Get-ChildItem
[[-Filter] <string>]
-LiteralPath <string[]>
[-Include <string[]>]
[-Exclude <string[]>]
[-Recurse]
[-Depth <uint32>]
[-Force]
[-Name]
[-UseTransaction]
[-Attributes <FlagsExpression[FileAttributes]>]
[-Directory]
[-File]
[-Hidden]
[-ReadOnly]
[-System]
[<CommonParameters>]
Description
Get-ChildItem cmdlet 會取得一或多個指定位置中的項目。 如果項目是容器,它會取得容器內的項目,稱為子項目。 您可以使用 Recurse 參數來取得所有子容器中的專案,並使用 Depth 參數來限制遞歸層級的數目。
Get-ChildItem 不會顯示空的目錄。 當 Get-ChildItem 命令包含 Depth 或 Recurse 參數時,輸出中不會包含空白目錄。
位置會公開給 PowerShell 提供者 Get-ChildItem。 位置可以是文件系統目錄、登錄區或證書存儲。 如需詳細資訊,請參閱 about_Providers。
參數
-Attributes
取得具有指定屬性的檔案和資料夾。 此參數支援所有屬性,並可讓您指定屬性的複雜組合。
例如,若要取得加密或壓縮的非系統檔案(非目錄),請輸入:
Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed
若要尋找具有常用屬性的檔案和資料夾,請使用 Attributes 參數。 或者,參數 Directory、File、Hidden、ReadOnly和 System。
Attributes 參數支援下列屬性:
- 封存
- 壓縮
- 裝置
- 目錄
- 已加密
- 隱藏
- IntegrityStream
- 一般
- NoScrubData
- 未索引內容
- 離線
- 唯讀
- ReparsePoint
- 稀疏文件
- 系統
- 暫存
如需這些屬性的描述,請參閱 FileAttributes 列舉。
若要合併屬性,請使用下列運算子:
-
!(非) -
+(和) -
,(OR)
請勿在運算子與其屬性之間使用空格。 逗號後面允許有空格。
針對一般屬性,請使用下列縮寫:
-
D(目錄) -
H(隱藏) -
R(唯讀) -
S(系統)
參數屬性
| 類型: | |
| 預設值: | None |
| 接受的值: | Archive, Compressed, Device, Directory, Encrypted, Hidden, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Depth
此參數已在 PowerShell 5.0 中新增,可讓您控制遞歸深度。 根據預設,Get-ChildItem 會顯示父目錄的內容。
Depth 參數會決定遞歸中包含的子目錄層級數目,並顯示內容。
例如,Depth 2 包含 Path 參數的目錄、子目錄的第一層,以及子目錄的第二層。 默認情況下,目錄名稱和檔名包含在輸出中。
備註
在 PowerShell 或 cmd.exe的 Windows 電腦上,您可以使用 tree.com 命令來顯示目錄結構的圖形檢視。
參數屬性
| 類型: | UInt32 |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Directory
若要取得目錄清單,請使用 Directory 參數或 Attributes 參數搭配 Directory 屬性。 您可以將 Recurse 參數與 Directory搭配使用。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 廣告, d |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Exclude
指定這個 Cmdlet 從作業中排除的屬性或屬性,做為字串陣列。
此參數的值對 路徑 參數進行限定。 輸入路徑元素或模式,例如 *.txt 或 A*。 可以接受通配符。
* 參數中的尾端星號 () 是選擇性的。 例如,-Path C:\Test\Logs 或 -Path C:\Test\Logs\*。 如果包含尾端星號(*),命令就會遞歸至 Path 參數的子目錄。 如果沒有星號 (*),則會顯示 Path 參數的內容。 範例 5 和附註一節包含更多詳細數據。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-File
若要取得檔案清單,請使用 File 參數。 您可以使用 Recurse 參數搭配 File。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | af |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Filter
指定篩選條件,以限定 Path 參數。
FileSystem 提供者是唯一已安裝且支援使用篩選的 PowerShell 提供者。 篩選比其他參數更有效率,因為提供者會在 Cmdlet 取得物件時套用它們,而不是在擷取對象之後讓 PowerShell 篩選物件。 篩選字串會傳遞至 .NET API 以列舉檔案。 該 API 僅支援 * 和 ? 通配符。
參數屬性
| 類型: | String |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | 1 |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Force
允許 Cmdlet 取得使用者無法存取的專案,例如隱藏或系統檔案。 Force 參數不會覆寫安全性限制。 實作會因提供者而異。 如需詳細資訊,請參閱 about_Providers。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Hidden
若要取得僅隱藏的項目,請使用 Hidden 參數或將 Attributes 參數與 Hidden 屬性搭配使用。 根據預設,Get-ChildItem 不會顯示隱藏的專案。 使用 Force 參數來取得隱藏的項目。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 啊, h |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Include
指定此 Cmdlet 在操作中包含的一個或多個專案,這些專案是以字串陣列的形式表示。 此參數的值對 路徑 參數進行限定。 輸入路徑元素或模式,例如 "*.txt"。 允許使用通配符字元。 只有當命令包含項目的內容,例如 時,C:\Windows\* 參數才有效,其中通配符會指定 C:\Windows 目錄的內容。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-LiteralPath
指定通往一個或多個位置的路徑。 LiteralPath 的值會按原本輸入的方式使用。 不會將任何字元解譯為通配符。 如果路徑包含逸出字元,請以單引弧括住它。 單引號會告知PowerShell不要將任何字元解譯為逸出序列。
如需詳細資訊,請參閱 about_Quoting_Rules。
參數屬性
| 類型: | String[] |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | PSPath |
參數集
LiteralItems
| Position: | Named |
| 必要: | True |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-Name
只取得位置中項目的名稱。 輸出是一個字串物件,可以經由管線傳送至其他命令。 允許使用通配符。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Path
指定通往一個或多個位置的路徑。 接受通配符。 預設位置是目前目錄 (.)。
參數屬性
| 類型: | String[] |
| 預設值: | Current directory |
| 支援萬用字元: | True |
| 不要顯示: | False |
參數集
Items
| Position: | 0 |
| 必要: | False |
| 來自管線的值: | True |
| 來自管線按屬性名稱的值: | True |
| 來自剩餘引數的值: | False |
-ReadOnly
若要取得唯讀項目,請使用 ReadOnly 參數或 Attributes 參數 ReadOnly 屬性。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 阿拉伯語 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-Recurse
取得指定位置及其所有子項目中的項目。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | s |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-System
只取得系統檔案和目錄。 若要只取得系統檔案和資料夾,請使用 System 參數或 Attributes 參數 System 屬性。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | None |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | 如 |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
-UseTransaction
在作用中交易中包含 命令。 只有在交易進行中時,此參數才有效。 如需詳細資訊,請參閱 about_Transactions。
參數屬性
| 類型: | SwitchParameter |
| 預設值: | False |
| 支援萬用字元: | False |
| 不要顯示: | False |
| 別名: | usetx |
參數集
(All)
| Position: | Named |
| 必要: | False |
| 來自管線的值: | False |
| 來自管線按屬性名稱的值: | False |
| 來自剩餘引數的值: | False |
CommonParameters
此 Cmdlet 支援一般參數:-Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction 和 -WarningVariable。 如需詳細資訊,請參閱 about_CommonParameters。
輸入
String
您可以使用管線將包含路徑的字串傳送至 Get-ChildItem。
輸出
Object
Get-ChildItem 傳回的物件類型是由提供者磁碟驅動器路徑中的物件所決定。
String
如果您使用 Name 參數,Get-ChildItem 會以字串的形式傳回物件名稱。
備註
- 您可以透過內建別名、
Get-ChildItem、ls和dir來參考gci。 如需詳細資訊,請參閱 about_Aliases。 - 根據預設,
Get-ChildItem不會取得隱藏的專案。 若要取得隱藏的專案,請使用 Force 參數。 -
Get-ChildItemCmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入Get-PSProvider。 如需詳細資訊,請參閱 about_Providers。