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