取得位在指定位置之項目的內容。

語法

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" 表示)。






請參閱




目錄