在 cmd 中,&& 只在前一条命令返回成功状态时继续,|| 只在前一条命令失败时继续,单个 & 则无论成败都会执行下一条。powershell 7 也支持 && 和 ||,但 windows powershell 5.1 不支持这两个管道链运算符。涉及删除、覆盖或服务变更时,应先用无破坏性的测试命令验证分支。
用双与号只在成功后继续
在 CMD 中执行 mkdir "D:\发布" && copy app.zip "D:\发布\"。只有 mkdir 返回错误级别 0,复制才会发生。图中的命令先建立 C:\temp,成功后再建立子目录,随后用 dir 验证结果;这正是 && 的短路行为。

用双竖线只处理失败分支
需要在失败时给出提示,可写成 copy app.zip "D:\发布\" || echo 复制失败。图中的测试把文件写入受占用的目标,重定向失败后才输出 Fail,同时 ERRORLEVEL 保持失败状态。不要把重试删除、格式化等高风险命令直接放在 || 后面。

把成功和失败处理写进批处理
批处理文件可写成 命令 && (echo 成功) || (echo 失败 & exit /b 1)。图中的真实批处理示例同时使用 && 和 ||,成功时输出提示,失败时跳转到结束标签。括号内出现重定向、管道或变量时要先在测试目录验证,必要时改用 if errorlevel 让复杂分支更清晰。












