在命令提示符中运行 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 /?
相关文章
在 PowerShell 中提取子字符串
发布时间:2024/02/07 浏览次数:162 分类:编程语言
-
本文将讨论如何使用 PowerShell 的字符串库有效地提取字符串中的子字符串。作为 Windows 管理员的一个典型场景是找出一种方法来在称为子字符串的字符串中查找特定的文本片段
在 PowerShell 中连接字符串
发布时间:2024/02/07 浏览次数:174 分类:编程语言
-
本文将展示我们可以在 PowerShell 中使用的所有可能的方法来连接字符串和变量。PowerShell 使用不同的运算符和函数来实现字符串连接。
在 PowerShell 中将字符串转换为整数
发布时间:2024/02/07 浏览次数:131 分类:编程语言
-
本教程将教你在 PowerShell 中将字符串转换为整数。在 PowerShell 中使用 [int] 将字符串转换为整数
在 PowerShell 中将字符串拆分为单独的变量
发布时间:2024/02/07 浏览次数:140 分类:编程语言
-
本教程将介绍在 PowerShell 中将字符串拆分为单独的变量。字符串是用于表示文本的字符序列。它是 PowerShell 中常见的数据类型之一。
在 PowerShell 中获取变量的字符串长度
发布时间:2024/02/07 浏览次数:113 分类:编程语言
-
本教程将教你在 PowerShell 中获取变量的字符串长度。字符串是 PowerShell 中最常用的数据类型之一;它包含字符或文本的序列。你可以使用单引号或双引号定义字符串。
在 PowerShell 中查找子字符串的位置
发布时间:2024/02/07 浏览次数:84 分类:编程语言
-
本教程将教你在 PowerShell 中查找子字符串的位置。PowerShell 中的字符串和子字符串 字符串是 PowerShell 中使用的常见数据类型。
在 PowerShell 中比较两个字符串对象的内容
发布时间:2024/02/07 浏览次数:65 分类:编程语言
-
本教程将教你比较 PowerShell 中两个字符串对象的内容。字符串是 PowerShell 中最常用的数据类型之一。
使用 PowerShell 替换文件中的文本
发布时间:2024/02/07 浏览次数:118 分类:编程语言
-
本教程将教你使用 PowerShell 替换文件中每个出现的字符串。PowerShell 是一个强大的工具,可以执行不同的文件和文件夹操作。
PowerShell 中加入路径以将两个以上的字符串组合成一个文件路径
发布时间:2024/02/07 浏览次数:84 分类:编程语言
-
本教程将教你使用 Join-Path 将两个以上的字符串组合成一个文件路径。