我有这行代码,我对如何工作感到困惑。我怎么相信它会运行,而这不是我想要的,&& goto continue
只会在电子邮件失败的情况下运行,因为它是最近的代码块。
我想从这一行得到的是测试.zip的完整性,如果成功执行goto continue
,如果不成功则发送电子邮件(blat
)然后退出。
"c:\Program Files\7-Zip\7z.exe" t %ZIPFILE% | FIND "Everything is Ok" || blat -to email@domain.com -server mail.protection.outlook.com -f anotheremail@domain.com -subject "Backup integrity check failed" -body "failed" && goto continue
也许我需要的是if>但是,我希望确保没有办法只使用条件执行来执行此操作。
谢谢!
答案 0 :(得分:3)
From Windows XP documentation:
<强>&安培; 强>
用法:
command1
&amp;command2
摘要:用于在一个命令行上分隔多个命令。
<强>&安培;&安培; 强>
用法:
command1
&amp;&amp;command2
摘要:仅在
command2
成功时才使用command1
。
<强> || 强>
用法:
command1
||command2
摘要:仅在
command2
失败时才使用command1
。
要实现您的目标,只需交换条件代码:
"c:\Program Files\7-Zip\7z.exe" t %ZIPFILE% | FIND "Everything is Ok" && goto continue || blat -to email@domain.com -server mail.protection.outlook.com -f anotheremail@domain.com -subject "Backup integrity check failed" -body "failed"
这样,如果成功,它将继续以其他方式发送电子邮件。