PowerShell Get-childItem命令

Get-ChildItem cmdlet命令可以在一個或多個位置獲取專案和子項目。 如果專案是容器,則它將專案放入容器內,稱為子項目。 位置可以是註冊表配置單元,檔系統註冊表或證書存儲。

此cmdlet不會顯示空目錄。 gcidirls是此cmdlet的別名。

使用-Recurse參數獲取所有子容器中的專案,並使用-Depth參數限制要遞歸的級別數。

語法

Get-ChildItem
[[-Path] <string[]>]
[[-Filter] <string>]
[-Recurse]
[-Depth <uint32>]
[-Include <string[]>]
[-Exclude <string[]>]
[-Name]
[-Force] [-Directory]
[-Attributes <FlagsExpression[FileAttributes]>][-FollowSymlink]
[-File]
[-Hidden]
[-System]
[-ReadOnly]
[<CommonParameters>]

參數

-Attribute

此參數獲取具有指定屬性的檔和文件夾,它支持所有屬性,並允許您指定屬性的複雜組合。
此參數支持以下屬性:

  • Archive, Device, Directory, Encrypted, IntegrityStream, Hidden, NotContentIndexed, Normal, Offline, NoScrubData, ReadOnly, ReparsePoint, Compressed, System, SparseFile, and Temporary。

使用以下運算符組合屬性:

  • ! (NOT)
  • + (AND)
  • , (OR)

注意:請勿使用運算符及其屬性之間的空格,而應在逗號後使用。

通用屬性使用以下縮寫:

  • D (Directory)
  • H (Hidden)
  • R (Read-only)
  • S (System)

-Depth

-Depth參數已添加到PowerShell 5.0中,並允許控制遞歸的深度。默認情況下,cmdlet get-ChildItem顯示父目錄的內容。
此參數確定遞歸中包含的子目錄級別的數量並顯示其內容。

-Directory

-Directory參數用於獲取目錄列表。還可以在目錄中使用-Recurse參數

-Exclude

-Exclude參數指定為字串數組,即屬性。它還指定cmdlet從操作中排除的那些專案。 -Exclude參數的值限定-Path參數。
輸入模式或路徑元素,例如A**.txt。 允許使用通配符。

-Include

-Include參數將屬性指定為字串數組。它還指定cmdlet包括在操作中的那些專案。 -Include參數的值限定Path參數。 輸入模式或路徑元素,例如*.txt
僅當cmdlet包含專案的內容(例如C:\Windows\*)時,此參數才有效,其中通配符*指定C:\Windows目錄的內容。

-File
-File參數用於獲取檔列表。還可以將-Recurse參數與-File參數一起使用。

-Filter

-Filter參數指定用於限定-Path參數的篩檢程式。此參數比其他參數更有效,因為提供程式在cmdlet檢索對象時應用它們,而不是讓PowerShell在檢索對象後對其進行過濾。 篩檢程式的字串傳遞給.NET API以枚舉檔,並且該API支持?*通配符。

-Force
-Force參數用於獲取用戶無法訪問的專案,例如系統檔或隱藏檔。 此參數不會覆蓋檔/安全許可權。

-Hidden

-Hidden參數或帶有Hidden屬性的-attribute參數僅用於獲取隱藏的專案。

-Path

-Path參數用於指定一個或多個位置的路徑。默認位置是當前目錄.,允許使用通配符。

-LiteralPath

-LiteralPath參數還用於指定一個或多個位置的路徑。 與-Path參數不同,此參數的值將按鍵入時的原樣使用。如果路徑包含任何轉義字元,則將其用引號引起來。沒有字元被解釋為通配符。 單引號指示Windows PowerShell不要將任何字元解釋為轉義序列。

-Name
-Name參數用於僅檢索位置中專案的名稱。此參數的輸出是一個字串對象,可以將其沿管道發送到其他命令。接受通配符。

-Recurse
-Recurse參數用於獲取指定位置中的專案以及該位置的所有子項目。

-System

-System參數或-Attribute參數與System屬性一起使用,僅獲取系統檔和目錄。

-ReadOnly

-ReadOnly參數或-Attribute參數與Readonly屬性一起使用,以僅獲取只讀專案。

-FollowSymlink

-FollowSymlink參數用於搜索以這些符號鏈接為目標的目錄。它是一個動態參數。它僅在FileSystem提供程式中受支持。

示例

示例1: 在當前位置獲取子項
get-childItem

在此示例中,此cmdlet(get-childItem)獲取當前目錄或位置中的子項。 它顯示所有檔和子目錄名稱。 如果某項沒有子項,則此cmdlet不會返回任何輸出,並返回到PowerShell提示符。

默認情況下,此cmdlet列出模式,LastWriteTime,檔的大小(長度)以及專案的名稱。

示例2: 獲取給定路徑的子項

獲取給定路徑的子項

本示例顯示使用-Path參數在cmdlet中給定路徑的子項。

示例3: 獲取給定目錄或位置中子項的名稱

本示例使用-Name參數僅顯示給定目錄中專案或檔的名稱。 此cmdlet使用-Path參數指定目錄。

示例4: 獲取當前目錄及其子目錄中的子項

本示例將cmdlet get-childItem-Recurse參數一起使用,以搜索當前目錄及其子目錄。

示例5: 使用深度參數獲取專案

本示例使用-Depth參數來確定遞歸中包含的子目錄層次的數量。 那些空目錄從輸出中排除。

cmdlet get-chilItem使用-Path參數指定C:\users-Depth參數指定兩個遞歸級別。

cmdlet get-childItem -Path C:\users -Depth 1顯示由-Path參數指定的目錄內容和子目錄的一級。