加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何在成功时运行多个命令

发布时间:2020-12-14 03:51:25 所属栏目:Windows 来源:网络整理
导读:在bash CMD你可以做到rm not-exists ls将多个命令串在一起,每个命令只有在前面的命令成功时才有条件地运行. 在powershell中,你可以做到不存在; ls,但即使rm失败,ls也会一直运行. 如何轻松复制bash amp;的功能(在一行中) CMD呢? 解决方法 Powershell中的大多
在bash& CMD你可以做到rm not-exists&& ls将多个命令串在一起,每个命令只有在前面的命令成功时才有条件地运行.

在powershell中,你可以做到不存在; ls,但即使rm失败,ls也会一直运行.

如何轻松复制bash& amp;的功能(在一行中) CMD呢?

解决方法

Powershell中的大多数错误默认为“非终止”,也就是说,它们不会导致脚本在遇到脚本时停止执行.这就是为什么即使在rm命令出错之后也会执行ls.

但是,您可以通过几种方式更改此行为.您可以通过$errorActionPreference变量全局更改它(例如$errorActionPreference =’Stop’),或者通过设置-ErrorAction参数仅对特定命令进行更改,这对所有cmdlet都是通用的.这是最适合您的方法.

# setting ErrorAction to Stop will cause all errors to be "Terminating"
# i.e. execution will halt if an error is encountered
rm 'not-exists' -ErrorAction Stop; ls

或者,使用一些常见的速记

rm 'not-exists' -ea 1; ls

-ErrorAction参数解释了帮助.键入Get-Help about_CommonParameters

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读