迹忆客 专注技术分享

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

在 PowerShell 中运行 CMD 命令

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

许多旧的命令提示符 (CMD) 命令在 Windows PowerShell 脚本环境中工作。PowerShell 环境使用别名将这些命令从最常用的命令(如 ping)转发到使用别名的遗留环境中的信息最多的命令(如 tracert)。

但是,命令提示符终端中的某些正在运行的命令在 Windows PowerShell 的脚本环境中不起作用。本文将讨论如何将它们正确转录到 Windows PowerShell。


使用 PowerShell 调用运算符 &

当我们使用位于特定路径的可执行文件格式 (.exe) 运行命令行程序时,旧版 CMD 将成功运行,然后是实际命令。

如果我们采用下面的示例语法,如果我们在 CMD 中运行脚本,我们可以使用 Avast 命令行扫描仪执行快速扫描,它会成功运行。

示例代码:

"C:\Program Files\AVAST Software\Avast\ashCmd.exe" /Quick

但是,如果我们采用相同的语法并在 Windows PowerShell 中运行它,我们将得到一个异常错误。错误背后的原因是 Windows PowerShell 将双引号 "" 视为文字字符串值,并且语法中随附的 /Quick 参数在任何本机库中均不可用。

此外,在 Windows PowerShell 中仅运行带引号的路径将仅输出字符串值,而不是运行可执行文件本身。

示例代码:

"C:\Program Files\AVAST Software\Avast\ashCmd.exe"

输出:

C:\Program Files\AVAST Software\Avast\ashCmd.exe

为了解决这个问题,我们可以在命令行开头调用 Invocation 运算符或 & 符号& 以在 Windows PowerShell 中正确运行可执行路径。

& "C:\Program Files\AVAST Software\Avast\ashCmd.exe" /Quick

在 PowerShell 环境中使用调用运算符会将字符串路径视为可执行文件的实际路径。因此,它将使用随附的命令参数直接运行脚本。


使用 cmd.exe 运行 CMD 命令

运行 CMD 命令的另一个示例是使用 cmd.exe。我们可以像之前的方法一样在 Windows PowerShell 中添加 cmd.exe

添加并执行后,它将调用 Windows PowerShell 命令提示符内的命令行界面。

cmd.exe /c where python

参数/c 将执行输入的任何命令并终止 cmd.exe 命令行解释器。

你可以运行以下语法来调出 cmd.exe 命令的帮助文档以获取有关其他参数的更多信息。此外,你可以在 PowerShell 和 CMD 命令行界面上运行以下命令。

cmd.exe /?

使用 PowerShell 管道连接到 CMD

在 Windows PowerShell 中,我们还可以通过将 cmd cmdlet 中的管道传递到你要发送的命令来将命令发送到命令提示符终端。

在下面的示例语法中,查询本地计算机 IP 配置的请求被发送到 CMD 命令行界面。运行代码后,CMD 终端被终止,用户被带回 PowerShell 终端,在行首用 PS 表示。

示例代码:

"Ipconfig /all" | cmd

转载请发邮件至 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

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便