windows - 如何从 powershell 脚本中的 cmdlet 捕获退出代码

标签 windows powershell scripting powershell-3.0

我对 powershell 脚本编写非常陌生,并且在 try catch 某件事是失败还是成功时遇到了很大的困难。我有一个简单的例子:

测试1.ps1

get-psdrive -name ds | out-null

if($? -ne "False")
{ 
   echo "drive doesn't exist"
}
else { echo "Found drive" }

但这对我不起作用。我还尝试了变量 $LastExitCode 但这也不起作用。我在这里严重误解了一些事情。有人可以指出我正确的方向或向我展示一个可行的示例吗

最佳答案

尝试这样的事情:

$drive = Get-PSDrive -Name ds 2>Out-Null

$drive = Get-PSDrive -Name ds -EA SilentlyContinue

如果 cmdlet 成功,$drive 将保存驱动器对象,否则其值为 $null:

if ($drive -eq $null) {
  echo "Drive doesn't exist."
} else {
  echo "Found drive."
}

关于windows - 如何从 powershell 脚本中的 cmdlet 捕获退出代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17072739/

相关文章:

python - 监视从 Windows 中的 shell 命令创建的子进程

ios - 如何在Windows操作系统上开发iPhone应用程序?

regex - Powershell - 如何用字符串中的变量替换数字?

ruby - Ruby 脚本可以告诉它在哪个目录中吗?

windows - 通过双击或从 cmd 窗口检测 bat 文件是否正在运行

windows - Visual C++ 无法找到 PVOID、DWORD、ULONG 等 "Windows types"

powershell - Get-ChildItem递归作为PowerShell中的参数

azure - 在 AzureDevOps Pipeline 中按 "."分割字符串无法按预期工作

linux - 在 Linux Redhat 服务器上编辑文本文件的脚本

python - 有没有办法让 python 在脚本中间变得可交互?