共用方式為


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 命令包含 DepthRecurse 參數時,輸出中不會包含空白目錄。

位置會公開給 PowerShell 提供者 Get-ChildItem。 位置可以是文件系統目錄、登錄區或證書存儲。 如需詳細資訊,請參閱 about_Providers

參數

-Attributes

取得具有指定屬性的檔案和資料夾。 此參數支援所有屬性,並可讓您指定屬性的複雜組合。

例如,若要取得加密或壓縮的非系統檔案(非目錄),請輸入:

Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed

若要尋找具有常用屬性的檔案和資料夾,請使用 Attributes 參數。 或者,參數 DirectoryFileHiddenReadOnlySystem

Attributes 參數支援下列屬性:

  • 封存
  • 壓縮
  • 裝置
  • 目錄
  • 已加密
  • 隱藏
  • IntegrityStream
  • 一般
  • NoScrubData
  • 未索引內容
  • 離線
  • 唯讀
  • ReparsePoint
  • 稀疏文件
  • 系統
  • 暫存

如需這些屬性的描述,請參閱 FileAttributes 列舉

若要合併屬性,請使用下列運算子:

  • ! (非)
  • + (和)
  • , (OR)

請勿在運算子與其屬性之間使用空格。 逗號後面允許有空格。

針對一般屬性,請使用下列縮寫:

  • D (目錄)
  • H (隱藏)
  • R(唯讀)
  • S (系統)

參數屬性

類型:

FlagsExpression<T>[FileAttributes]

預設值: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 從作業中排除的屬性或屬性,做為字串陣列。 此參數的值對 路徑 參數進行限定。 輸入路徑元素或模式,例如 *.txtA*。 可以接受通配符。

* 參數中的尾端星號 () 是選擇性的。 例如,-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-ChildItemlsdir來參考 gci。 如需詳細資訊,請參閱 about_Aliases
  • 根據預設,Get-ChildItem 不會取得隱藏的專案。 若要取得隱藏的專案,請使用 Force 參數。
  • Get-ChildItem Cmdlet 的設計目的是要處理任何提供者所公開的數據。 若要列出工作階段中可用的提供者,請輸入 Get-PSProvider。 如需詳細資訊,請參閱 about_Providers