如何使用 PowerShell 启动任何程序?


如果您注意到了,您可以通过 Windows 运行或 PowerShell 控制台直接键入记事本和计算器或其他标准系统实用程序的名称来启动它们,但不能启动 wordpad.exe、word、excel 或任何其他应用程序。它会抛出一个异常。

例如,只需在 PowerShell 控制台中键入 notepad.exe 即可打开程序,但键入 wordpad.exe 则会出现错误。

wordpad.exe − 术语“wordpad.exe”不被识别为 cmdlet、函数、脚本文件或可操作程序的名称。请检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

At line:1 char:1
+ wordpad.exe
+ ~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (wordpad.exe:String) [],
CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

这是因为所有程序都通过其路径存储在环境变量中的命令来运行。

要检查环境路径变量,请使用以下命令。

$env:Path -split ';'

输出

C:\Program Files (x86)\Intel\iCLS Client\
C:\Program Files\Intel\iCLS Client\
C:\WINDOWS\system32
C:\WINDOWS
C:\WINDOWS\System32\Wbem
C:\WINDOWS\System32\WindowsPowerShell\v1.0\
C:\Program Files\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL
C:\Program Files\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT
C:\Program Files (x86)\Skype\Phone\
C:\Program Files\Intel\WiFi\bin\
C:\Program Files\Common Files\Intel\WirelessCommon\

位于上述路径下的程序将通过 PowerShell 控制台直接运行,无需提供应用程序或实用程序的完整路径。

现在,要打开 Wordpad,您需要提供 Wordpad 的完整路径。但是,当您在双引号或单引号中提供完整路径时,它会将其视为字符串并返回相同的值,而不会执行程序。

"C:\Program Files\Windows NT\Accessories\wordpad.exe"

要执行程序,您需要使用与号 (&) 后跟程序的完整路径。

& 'C:\Program Files\Windows NT\Accessories\wordpad.exe'

另一种执行程序的方法是浏览到该目录并运行程序。

cd 'C:\Program Files\Windows NT\Accessories\'

并运行程序名称。

PS C:\Program Files\Windows NT\Accessories> .\wordpad.exe

到目前为止,我们已经使用完整路径名执行了程序。现在我们希望直接从 PowerShell 控制台执行wordpad.exe。为此,我们需要将程序路径提供给环境变量。

$env:Path += ";C:\Program Files\Windows NT\Accessories\"

现在,您只需从 PowerShell 控制台中键入 wordpad.exe,程序就会打开。

请注意 − 环境变量的更改是临时的。关闭 PowerShell 控制台后,新添加的环境变量路径将被删除。要永久添加此路径,您需要使用配置文件路径,它会在每次 PowerShell 控制台启动时加载。

更新于:2020年2月14日

12K+ 浏览量

启动您的 职业生涯

通过完成课程获得认证

开始学习
广告