迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 编程语言 >

在 PowerShell 中运行带参数的 exe 文件

作者:迹忆客 最近更新:2024/03/03 浏览次数:

exe 文件类型包含可以在 Windows 环境中执行的程序/应用程序。扩展名 EXE 是可执行文件的缩写形式。

当你双击 .exe 文件时,它将运行一些程序/应用程序。相同的 .exe 文件也可以通过 Windows PowerShell 执行。

本文只关注运行带参数的 exe 文件,因为如果它已经在 Windows PATH 中,则正常的 exe 文件执行(不带参数)非常简单。


在 PowerShell 中运行 exe 文件的方法

这里有两种情况需要解决。

  1. exe 文件路径已经在 WindowsPATH 中,并且命令名不包含任何空格。
  2. exe 文件路径不在 WindowsPATH 中,命令名或参数中包含空格。

对于第一种情况,调用带有参数/参数的 exe 文件非常简单。语法如下所示。

<abc.exe> [/parameter1 /parameter2...]
OR
<abc.exe> [-host "host.org" -u "username" -p "password"]
  1. abc.exe - 可执行文件名
  2. /parameter1 /parameter2 - 任何数量的参数都可以包含在 / 中并用空格分隔。
  3. -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

在上面的命令中:

  1. 'C:\Program Files (x86)\Windows Media Player\wmplayer.exe' 是命令名称。
  2. "D:\videos\funny videos\ video.avi" 是传递给上述命令的第一个参数。
  3. /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 中将命令拆分为多行

下一篇:没有了

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

以管理员身份运行 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 的优势。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便