在 PowerShell 中运行带参数的 exe 文件
exe
文件类型包含可以在 Windows 环境中执行的程序/应用程序。扩展名 EXE
是可执行文件的缩写形式。
当你双击 .exe
文件时,它将运行一些程序/应用程序。相同的 .exe
文件也可以通过 Windows PowerShell 执行。
本文只关注运行带参数的 exe
文件,因为如果它已经在 Windows PATH
中,则正常的 exe
文件执行(不带参数)非常简单。
在 PowerShell 中运行 exe
文件的方法
这里有两种情况需要解决。
exe
文件路径已经在 WindowsPATH
中,并且命令名不包含任何空格。exe
文件路径不在 WindowsPATH
中,命令名或参数中包含空格。
对于第一种情况,调用带有参数/参数的 exe
文件非常简单。语法如下所示。
<abc.exe> [/parameter1 /parameter2...]
OR
<abc.exe> [-host "host.org" -u "username" -p "password"]
abc.exe
- 可执行文件名/parameter1 /parameter2
- 任何数量的参数都可以包含在/
中并用空格分隔。-host "host.org" -u "username" -p "password"
- 命名参数可以这样传递。
例子:
yourexecutable.exe /parameter1 /parameter2
OR
yourexecutable.exe -host "host.org" -u "username" -p "password"
同时,在第二种情况下,exe
文件路径不在 Windows PATH
中。因此,你应该明确给出 exe
文件/命令的完整路径。
如果路径包含空格,则必须将其括在引号内(如下所示)。
'C:\Program Files (x86)\Windows Media Player\wmplayer.exe'
当 PowerShell 看到这种以字符串开头的命令时,它会将命令评估为字符串并回显到命令窗口。
C:\Program Files (x86)\Windows Media Player\wmplayer.exe
这不是预期的输出。因此,要让 PowerShell 将此字符串解释为命令名称,你需要使用称为调用运算符 (&
) 的特殊运算符。我们也称其为调用运算符。
PowerShell 中的调用运算符 (&
)
呼叫运算符 (&
) 可以添加到命令名称之前。它将使 PowerShell 将调用运算符 (&
) 旁边的字符串解释为命令名称。
& 'C:\Program Files (x86)\Windows Media Player\wmplayer.exe'
这将成功打开 Windows Media Player。
在 PowerShell 中使用调用运算符 (&
) 传递参数
你可以使用调用运算符 (&
) 轻松地将参数/参数传递给命令。
& 'C:\Program Files (x86)\Windows Media Player\wmplayer.exe' "D:\music videos\video.mp4" /fullscreen
在上面的命令中:
'C:\Program Files (x86)\Windows Media Player\wmplayer.exe'
是命令名称。"D:\videos\funny videos\ video.avi"
是传递给上述命令的第一个参数。/fullscreen
- 传递给命令的另一个参数。
当你需要传递多个参数/参数时,有更简洁的方法来执行此类命令。
方法一:
将每个参数/参数分配给一个变量并重复使用,这样做更干净,也更容易维护。
$cmd = 'C:\Program Files (x86)\Windows Media Player\wmplayer.exe'
$arg1 = 'D:\music videos\video.mp4'
& $cmd $arg1 /fullscreen
方法二:
还有另一种将参数/参数作为一个单元传递给命令的方法,称为 splatting。
$cmd = 'C:\Program Files (x86)\Windows Media Player\wmplayer.exe'
$allargs = @('D:\music videos\video.mp4', 'anotherargument', 'nextargument')
& $cmd $allargs /fullscreen
相关文章
在 PowerShell 中将命令拆分为多行
发布时间:2024/03/03 浏览次数:93 分类:编程语言
-
本文将解释 Windows PowerShell 多行命令将长命令拆分为多行的重要性。我们还将讨论实现这一目标的其他方法。
在 PowerShell 中安装 NuGet 包
发布时间:2024/03/01 浏览次数:164 分类:编程语言
-
本文将了解发生错误的原因以及安装适用于 PowerShell 的 NuGet 提供程序的分步指南。
在 PowerShell 中 Ping 主机名列表和输出结果到 CSV
发布时间:2024/03/01 浏览次数:55 分类:编程语言
-
本教程将教你 ping 主机名列表并将结果输出到 PowerShell 中的 CSV。
以管理员身份运行 PowerShell 脚本
发布时间:2024/03/01 浏览次数:89 分类:编程语言
-
本文将展示如何在不输入管理员凭据的情况下以管理员权限运行 powershell 脚本。如果代码片段未在提升的 Windows PowerShell 中运行,则以下脚本将自行提升你的脚本。
使用 Windows PowerShell 启动进程
发布时间:2024/03/01 浏览次数:61 分类:编程语言
-
本文将解释 Start-Process cmdlet 是什么以及参数如何与 cmdlet 一起使用。本文还展示了使用 Start-Process cmdlet 的好处
使用 PowerShell 远程处理执行命令
发布时间:2024/03/01 浏览次数:147 分类:编程语言
-
本文将讨论 PowerShell 远程处理的工作原理、几个 PowerShell 远程处理命令,以及我们如何将其投入实际使用。我们还将区分它与许多类似 cmdlet 的优势。
使用 PowerShell 将输出导出到文件
发布时间:2024/03/01 浏览次数:85 分类:编程语言
-
本文将讨论如何将输出数据导出到文件、将数据添加到现有文件以及使用 PowerShell 操作输出。