2
我试图添加到上下文菜单(用于目录)选项“打开崇高工程”和崇高的文本编辑器2.错误IF语句
嘛图标,问题是,如果我执行命令2 ,执行是完美的,但是如果我执行脚本,只执行第一个命令。
输出: 没有错误
If (-NOT(
([bool](New-Item -Path "HKLM:\Software\Classes\Directory\shell\Open Sublime Project\command" -Value "`"C:\Program Files\Sublime Text 2\sublime_text.exe`" --new-window %1" -Force)) -OR
([bool](New-ItemProperty -Path "HKLM:\Software\Classes\Directory\shell\Open Sublime Project" -Name "Icon" -PropertyType "String" -Value "`"C:\Program Files\Sublime Text 2\sublime_text.exe`",0" -Force))
)
)
{
Write-Host "Error"
}
Else
{
Write-Host "No errors"
}
我知道使用if语句...另外,这两个命令返回true。 – user3602030
不,一个命令返回true,第二个命令从不计算,因为第一个命令返回true。如果左侧已经为true,没有理由评估'-or'的两侧,这就是为什么右侧永远不会运行。所以,只需将'-or'改为'-and'就可以让你的代码工作,虽然有很多更好的方法来检查PowerShell中的错误。但就像我的帖子所读,如果左侧是假的,右侧将永远不会运行在这种情况下 – Cole9350
嗯......但第一个命令(布尔)是错误的,因为否定:/ – user3602030