在命令提示符中运行 PowerShell 命令
许多旧的命令提示符命令在 PowerShell 脚本环境中工作。Windows PowerShell 环境使用别名从旧环境中传递这些命令。
但是,命令提示符终端中的某些命令在 Windows PowerShell 的脚本环境中不起作用,反之亦然。
本文将讨论在这两种解释器中运行 PowerShell 和遗留命令。
在 PowerShell 中使用调用运算符 &
当我们运行命令行程序时,旧的命令提示符命令将成功运行。
如果我们采用下面的示例语法,在 CMD 中运行它,它将成功运行。
"C:\temp\setup.exe" /s /qn
但是,如果我们使用上面的相同代码段并在 Windows PowerShell 中运行它,我们将收到一个异常错误。
错误背后的原因是 PowerShell 将双引号 ""
视为文字字符串值。语法中附带的参数在任何 PowerShell 本机库中都不存在。
此外,在 PowerShell 中只执行带引号的路径只会输出字符串值,而不是运行可执行文件本身。
"C:\temp\setup.exe"
输出:
C:\temp\setup.exe
为了解决这个问题,我们可以调用命令行开头的 & 符号所代表的 Invocation 运算符来正确运行 Windows PowerShell 中的可执行路径。
& "C:\temp\setup.exe" /s /qn
Windows PowerShell 中的调用运算符&
会将字符串路径视为可执行文件的文字路径。
因此,它将使用随附的命令参数直接执行脚本。
在 PowerShell 中的命令提示符内运行 PowerShell.exe
在这种方法中,我们将扭转局面。我们现在将尝试在命令提示符界面中运行 PowerShell 命令。
例如,如果我们在命令提示符中运行上述代码段,脚本解释器将无法正确读取参数。为了解决这个问题,我们可以用单引号''
将整个语法括起来。
powershell.exe -noexit "& '"C:\temp\setup.exe" /s /qn"
上例中的 -noexit
参数在命令提示符内运行 cmd 脚本后不会退出 PowerShell 会话。
我们可以运行下面的代码片段来调出 powershell.exe
命令的帮助文档,以获取有关其他函数和参数的更多信息。
powershell.exe /?
在 PowerShell 中运行 cmd.exe
在 PowerShell 中运行 CMD 命令的另一个示例是调用 cmd.exe
应用程序。
添加并执行后,PowerShell 将在 Windows PowerShell 命令提示符内调用命令行界面会话。
cmd.exe /c "C:\temp\setup.exe" /s /qn
/c
参数将执行命令行界面中参数后跟的任何命令。
在上面的示例中,表达式 "C:\temp\setup.exe" /s /qn
将在 cmd.exe
中执行,因为命令在 /c
开关参数之后。
我们可以运行下面的代码片段来调出 cmd.exe
命令的帮助文档,以获取有关其他函数和参数的更多信息。
此外,我们可以在 PowerShell 和 CMD 命令行解释器上运行以下命令。
cmd.exe /?
相关文章
在 Windows PowerShell 中获取命令行参数
发布时间:2024/03/04 浏览次数:358 分类:编程语言
-
本文将解释我们如何使用 PowerShell 的参数函数处理命令行参数,参数如何工作,我们如何使用 PowerShell 参数将值传递给参数,以及定义参数的基本方法是什么。
Windows PowerShell 中的 Base64 编码
发布时间:2024/03/04 浏览次数:332 分类:编程语言
-
本文将展示如何编码和解码 base64 字符串。Windows PowerShell 当前版本没有本机命令,因此我们将向你展示如何执行此操作的替代方法。
在 Windows PowerShell 中写入输出
发布时间:2024/03/04 浏览次数:259 分类:编程语言
-
本文将向你展示如何在 Windows PowerShell 中编写或打印输出。本文还将区分多个 write cmdlet 并解释它们的意义。
在 Windows PowerShell 中设置 PATH 环境变量
发布时间:2024/03/04 浏览次数:350 分类:编程语言
-
本文将展示在 Windows PowerShell 中设置路径环境变量的正确方法。本文还展示了如何在持久性和非持久性方法中设置变量。
在 Windows PowerShell 中打印环境变量
发布时间:2024/03/04 浏览次数:869 分类:编程语言
-
本文将讨论什么是环境变量以及如何使用多个 Windows PowerShell 命令打印它们。
在 PowerShell 中注释代码
发布时间:2024/03/04 浏览次数:363 分类:编程语言
-
本文将展示在 Windows PowerShell 中注释代码的多种方法。本文还介绍了注释代码时的一些最佳实践。
在 PowerShell 中执行 LDAP 查询
发布时间:2024/03/04 浏览次数:304 分类:编程语言
-
本文将深入了解如何使用 Active Directory 过滤器和 LDAP 过滤器。