共用方式為


Start-Process

在本機電腦上執行的一個或多個處理序。

語法

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-Credential <PSCredential>] [-LoadUserProfile] [-NoNewWindow] [-PassThru] [-RedirectStandardError <string>] [-RedirectStandardInput <string>] [-RedirectStandardOutput <string>] [-UseNewEnvironment] [-Wait] [-WorkingDirectory <string>] [<CommonParameters>]

Start-Process [-FilePath] <string> [[-ArgumentList] <string[]>] [-PassThru] [-Verb <string>] [-Wait] [-WindowStyle {<Normal> | <Hidden> | <Minimized> | <Maximized>}] [-WorkingDirectory <string>] [<CommonParameters>]

描述

在本機電腦上執行的一個或多個處理序。若要指定於處理序中執行的程式,請輸入可執行檔或指令碼,或者是可以利用電腦中程式開啟的檔案。如果指定不可執行的檔案,Start-Process 會啟動與該檔案關聯的程式,與 Invoke-Item Cmdlet 非常類似。

您可以使用 Start-Process 的參數指定多種操作,例如載入使用者設定檔、在新視窗中啟動處理序或者使用備用認證。

參數

-ArgumentList <string[]>

指定要於啟動處理序時使用的參數或參數值。參數名稱 ("Arguments") 為選擇性。

必要?

false

位置?

2

預設值

接受管線輸入?

false

接受萬用字元?

false

-Credential <PSCredential>

指定具有執行此動作之權限的使用者帳戶。請輸入使用者名稱,例如 "User01" 或 "Domain01\User01",或是輸入 PSCredential 物件,例如由 Get-Credential Cmdlet 所產生的物件。根據預設,Cmdlet 會使用目前使用者的認證。

必要?

false

位置?

named

預設值

目前使用者。

接受管線輸入?

false

接受萬用字元?

false

-FilePath <string>

指定於處理序中執行之程式的路徑 (選擇性) 和檔名。輸入與電腦中程式關聯的可執行檔或文件名稱,如 .txt 或 .doc 檔案。此參數為必要項。

如果只指定檔案名稱,請使用 WorkingDirectory 參數指定路徑。

必要?

true

位置?

1

預設值

接受管線輸入?

false

接受萬用字元?

false

-LoadUserProfile

為目前使用者載入儲存於 HKEY_USERS 登錄機碼中的使用者設定檔。預設值為 FALSE。

這個參數不會影響 Windows PowerShell 設定檔 (請參閱 about_profiles)。

必要?

false

位置?

named

預設值

False

接受管線輸入?

false

接受萬用字元?

false

-NoNewWindow

避免處理序在新視窗中執行。根據預設,處理序會在新視窗中執行。

必要?

false

位置?

named

預設值

False

接受管線輸入?

false

接受萬用字元?

false

-PassThru

傳回 Cmdlet 所啟動之每一個處理序的處理序物件。根據預設,此 Cmdlet 不會產生任何輸出。

必要?

false

位置?

named

預設值

False

接受管線輸入?

false

接受萬用字元?

false

-RedirectStandardError <string>

傳送處理序產生的任何錯誤到您指定的檔案。請輸入路徑和檔名。根據預設,錯誤會顯示在主控台中。

必要?

false

位置?

named

預設值

錯誤會顯示在主控台中

接受管線輸入?

false

接受萬用字元?

false

-RedirectStandardInput <string>

從主控台讀取輸入。輸入輸入檔的路徑和檔名。根據預設,處理序會取得來自鍵盤的輸入。

必要?

false

位置?

named

預設值

鍵盤

接受管線輸入?

false

接受萬用字元?

false

-RedirectStandardOutput <string>

傳送處理序產生的任何輸出到您指定的檔案。請輸入路徑和檔名。根據預設,輸出會顯示在主控台中。

必要?

false

位置?

named

預設值

FALSE

接受管線輸入?

false

接受萬用字元?

false

-UseNewEnvironment

使用指定給處理序新環境變數。根據預設,啟動的處理序會以為該電腦和使用者指定的環境變數執行。

必要?

false

位置?

named

預設值

False

接受管線輸入?

false

接受萬用字元?

false

-Verb <string>

指定要於啟動處理序時使用的動詞,如「編輯」、「開啟」或「列印」。

每一個檔案類型都有一組您可以使用的動詞。使用物件的 Verbs 屬性,即可尋找可以用於處理序的動詞。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Wait

先等候指定的處理序完成,然後再接受其他的輸入。這個參數會抑制命令提示字元或是保留而暫不顯示該視窗,直到處理序完成。

必要?

false

位置?

named

預設值

False

接受管線輸入?

false

接受萬用字元?

false

-WindowStyle <ProcessWindowStyle>

指定用於處理序的視窗狀態。有效的值包括 Normal、Hidden、Minimized 和 Maximized。預設值為 Normal。

必要?

false

位置?

named

預設值

Normal

接受管線輸入?

false

接受萬用字元?

false

-WorkingDirectory <string>

指定於處理序中執行之可執行檔或文件的位置。預設值為目前目錄。

必要?

false

位置?

named

預設值

目前目錄

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

您無法經由管道將輸入輸出至 Start-Process。

輸出

無或 System.Diagnostics.Process

當您使用 PassThru 參數時,Start-Process 會產生 System.Diagnostics.Process。否則,這個 Cmdlet 不會傳回任何輸出。

附註

這個 Cmdlet 會透過使用 System.Diagnostics,Process 類別的 Start 方法實作。如需這個方法的詳細資訊,請參閱 MSDN (Microsoft Developer Network) Library (https://go.microsoft.com/fwlink/?LinkId=143602) 中的「Process.Start 方法」(英文)。

範例 1

C:\PS>start-process sort.exe

描述
-----------
這個命令會啟動使用目前目錄中 Sort.exe 檔案的處理序。該命令使用所有的預設值,包括預設視窗樣式、工作目錄和認證。





範例 2

C:\PS>start-process myfile.txt -workingdirectory "C:\PS-Test" -verb Print

描述
-----------
這個命令會啟動列印 C:\PS-Test\MyFile.txt 檔案的處理序。





範例 3

C:\PS>start-process Sort.exe -RedirectStandardInput Testsort.txt -RedirectStandardOutput Sorted.txt -RedirectStandardError SortError.txt -UseNewEnvironment

描述
-----------
這個命令啟動排序 Testsort.txt 檔案中項目的處理序,並且傳回 Sorted.txt 檔案中的已排序項目。任何發生的錯誤都會寫入 SortError.txt 檔案。

UseNewEnvironment 參數指定以其本身環境變數執行的處理序。





範例 4

C:\PS>start-process notepad -wait -windowstyle Maximized

描述
-----------
此命令會啟動「記事本」處理序。該命令會將視窗最大化,同時保留而暫不顯示該視窗,直到處理序完成。





請參閱

概念

Start-Service
Get-Process
Stop-Process
Wait-Process
Debug-Process