启动本地计算机上的一个或多个进程。

语法

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 进程。它将最大化窗口并在该进程完成之前一直保留该窗口。






另请参阅




目录