尝试使用powershell
获取echo命令失败的事件日志echo $null > d:\test.write
if ($?.Status -eq $False) {
Write-EventLog -LogName "Application" -Source "Drive Checker" -EntryType Error -Message "Touch file failed d:\test.write" -Category 1 -EventId 12
}
不确定我缺少什么让这项工作..
答案 0 :(得分:0)
automatic variable $?
是一个没有属性Status
的布尔值,因此表达式$?.Status
的计算结果为$null
,而不是等于$false
。只需检查布尔值本身:
if (-not $?) {
Write-EventLog ...
}
答案 1 :(得分:0)
我认为您必须省略.Status
并仅在if中使用$?
。
PS C:\Windows\system32> echo $null > Z:\test.write
PS C:\Windows\system32> $?
True