启动本地计算机上的一个或多个进程。
语法
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 输入的一个 PSCredential 对象。默认情况下,该 cmdlet 使用当前用户的凭据。
是否为必需? |
false |
位置? |
named |
默认值 |
Current user. |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-FilePath <string>
指定在进程中运行的程序的路径(可选)和文件名。请输入与计算机上的程序相关联的可执行文件或文档(如 .txt 或 .doc 文件)的名称。此参数是必需的。
如果仅指定文件名,请使用 WorkingDirectory 参数指定路径。
是否为必需? |
true |
位置? |
1 |
默认值 |
|
是否接受管道输入? |
false |
是否接受通配符? |
false |
-LoadUserProfile
加载当前用户的 HKEY_USERS 注册表项中所存储的 Windows 用户配置文件。默认值为 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 |
默认值 |
Errors are displayed in the console |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-RedirectStandardInput <string>
从指定文件读取输入。请输入输入文件的路径和文件名。默认情况下,进程从键盘获取其输入。
是否为必需? |
false |
位置? |
named |
默认值 |
Keyboard |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-RedirectStandardOutput <string>
将进程产生的输出发送给指定的文件。请输入路径和文件名。默认情况下,在控制台中显示该输出。
是否为必需? |
false |
位置? |
named |
默认值 |
FALSE |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-UseNewEnvironment
使用为进程指定的新环境变量。默认情况下,使用为计算机和用户指定的环境变量运行启动的进程。
是否为必需? |
false |
位置? |
named |
默认值 |
False |
是否接受管道输入? |
false |
是否接受通配符? |
false |
-Verb <string>
指定启动进程时要使用的动词,如 Edit、Open 或 Print。
每种文件类型都有一组可供使用的动词。要查找可用于进程的动词,请使用对象的 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 |
默认值 |
Current directory |
是否接受管道输入? |
false |
是否接受通配符? |
false |
<CommonParameters>
此 cmdlet 支持通用参数:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。有关详细信息,请参阅 about_Commonparameters.
输入和输出
输入类型是指可通过管道传递给 cmdlet 的对象的类型。返回类型是指 Cmdlet 所返回对象的类型。
输入 |
None 不能通过管道将输入传递给 Start-Process。 |
输出 |
None 或 System.Diagnostics.Process 如果使用 PassThru 参数,则 Start-Process 生成 System.Diagnostics.Process。否则,此 cmdlet 不返回任何输出。 |
说明
此 cmdlet 通过使用 System.Diagnostics.Process 类的 Start 方法来实现。有关此方法的详细信息,请参阅 MSDN (Microsoft Developer Network) 库中的“Process.Start 方法”,网址是 https://go.microsoft.com/fwlink/?LinkId=143602。
示例 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 说明 ----------- 此命令启动 Notepad 进程。它将最大化窗口并在该进程完成之前一直保留该窗口。
另请参阅