Get-ChildItem
cmdlet命令可以在一個或多個位置獲取專案和子項目。 如果專案是容器,則它將專案放入容器內,稱為子項目。 位置可以是註冊表配置單元,檔系統註冊表或證書存儲。
此cmdlet不會顯示空目錄。 gci
,dir
,ls
是此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: 在當前位置獲取子項
在此示例中,此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
參數指定的目錄內容和子目錄的一級。