Get-Content
取得位在指定位置之項目的內容。
語法
Get-Content [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-ReadCount <Int64>] [-TotalCount <Int64>] [-UseTransaction] [<CommonParameters>]
Get-Content [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-ReadCount <Int64>] [-TotalCount <Int64>] [-UseTransaction] [<CommonParameters>]
描述
Get-Content Cmdlet 會取得位於路徑所指定之位置的項目內容,例如檔案中的文字。它會一次讀取一行內容,而且每行傳回一個物件。
參數
-Credential <PSCredential>
指定具有執行此動作之權限的使用者帳戶。預設為目前使用者。
請輸入使用者名稱,例如 "User01" 或 "Domain01\User01",或是輸入 PSCredential 物件,例如由 Get-Credential Cmdlet 所產生的物件。如果輸入使用者名稱,則系統會提示您提供密碼。
所有隨 Windows PowerShell 安裝的提供者都不支援此參數。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Exclude <string[]>
忽略指定的項目。此參數的值用於限定 Path 參數。輸入路徑元素或模式,例如 "*.txt"。允許使用萬用字元。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Filter <string>
指定以提供者的格式或語言表示的篩選器。此參數的值用於限定 Path 參數。篩選器的語法 (包括萬用字元的用法) 依提供者而定。篩選器比其他參數更有效率,因為提供者會在擷取物件時套用篩選器,而非等到 Windows PowerShell 擷取物件後才進行篩選。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Force
覆蓋限制以免命令無法成功執行,但僅限於變更不會危害安全性的部分。例如,Force 將會覆蓋唯讀屬性,或建立目錄以構成完整的檔案路徑,但不會嘗試變更檔案權限。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-Include <string[]>
只擷取指定的項目。此參數的值用於限定 Path 參數。輸入路徑元素或模式,例如 "*.txt"。允許使用萬用字元。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
-LiteralPath <string[]>
指定項目的路徑。LiteralPath 與 Path 不同,係取用實際輸入的內容做為參數值。任何字元均不被解譯成萬用字元。如果路徑中包含逸出字元,請將其置於單引號內。單引號係告訴 Windows PowerShell 不要將任何字元解譯成逸出序列。
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-Path <string[]>
指定項目路徑。Get-Content 會擷取項目的內容。允許使用萬用字元。參數名稱 ("Path" 或 "FilePath") 為選擇性。
必要? |
true |
位置? |
1 |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-ReadCount <Int64>
指定要透過管線單次傳送的內容行數。預設值為 1,值為 0 (零) 時,則會一次傳送所有內容。
此參數不會改變顯示的內容,但會影響顯示內容所花費的時間。隨著 ReadCount 的值增加,傳回第一行將耗時更久,但可縮短作業的總時間。傳送極大型的項目時,更能感受到其間的差別。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-TotalCount <Int64>
指定要擷取的內容行數。預設值為 -1 (所有各行)。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
true (ByPropertyName) |
接受萬用字元? |
false |
-UseTransaction
將命令加入現用交易中。此參數只有當交易進行中時才有效。如需詳細資訊,請參閱 about_Transactions。
必要? |
false |
位置? |
named |
預設值 |
|
接受管線輸入? |
false |
接受萬用字元? |
false |
<CommonParameters>
這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.
輸入和輸出
輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。
輸入 |
無 您無法經由管道將輸入輸出至 Get-Content。 |
輸出 |
Object Get-Content 會傳回代表其取得之內容的物件。此物件類型取決於內容類型。 |
附註
您也可以利用 Get-Content 的內建別名 ("cat"、"type" 和 "gc") 對其進行參照。如需詳細資訊,請參閱 about_Aliases。
Get-Content Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PsProvider"。如需詳細資訊,請參閱 about_Providers。
範例 1
C:\PS>get-content -Path C:\Chapters\chapter1.txt
描述
-----------
這個命令會在主控台上顯示 Chapter1.txt 檔案的內容。它會使用 Path 參數指定項目的名稱。實際上 Get-Content 會沿著管線向下傳遞內容,但是因為此時並沒有其他的管線元素,所以內容會經過格式化並顯示在主控台上。
範例 2
C:\PS>get-content c:\Logs\Log060912.txt -totalcount 50 | set-content sample.txt
描述
-----------
這個命令會取得 Log060912.txt 檔案的前 50 行,並將取得內容存放在 sample.txt 檔案中。此命令會使用 Get-Content Cmdlet 取得該檔案中的文字 (已經省略選擇性之 Path 參數的名稱)。TotalCount 參數會限制擷取前 50 行。管線運算子 (|) 會將結果傳送給 Set-Content,並由其將結果放到 sample.txt 檔案。
範例 3
C:\PS>(get-content cmdlets.txt -totalcount 5)[-1]
描述
-----------
這個命令會取得 Cmdlets.txt 文字檔中的第五行內容。該命令使用 TotalCount 參數取得前五行,然後利用陣列標記法取得產生組中的最後一行 (以 "-1" 表示)。