当前位置:  开发笔记 > 编程语言 > 正文

我可以让&&在Powershell中工作吗?

如何解决《我可以让&&在Powershell中工作吗?》经验,为你挑选了4个好方法。

&&众所周知难以在谷歌搜索,但我发现的最好的是这篇文章说要使用-and.

不幸的是它没有提供任何更多的信息,我无法找到我应该做的事情-and(再次,一个众所周知的难以搜索)

我正在尝试使用它的上下文是"执行cmd1,如果成功,执行cmd2",基本上这样:

csc /t:exe /out:a.exe SomeFile.cs && a.exe

这应该是一个容易的几个代表谁知道,谢谢!


编辑:如果你只想在一行上运行多个命令,而你不在乎第一个是否失败,你可以使用;我的大多数用途这是好的

例如:kill -n myapp; ./myapp.exe.



1> Jay Bazuzi..:

在CMD中,'&&'表示"执行命令1,如果成功,则执行命令2".我把它用于以下事情:

build && run_tests

在PowerShell中,您可以做的最接近的事情是:

(build) -and (run_tests)

它具有相同的逻辑,但命令的输出文本丢失.不过,也许这对你来说已经足够了.

编辑

如果您在脚本中执行此操作,则最好将分隔语句分开,如下所示:

build
if ($?) {
    run_tests
}


我不认为PowerShell是"删除了愚蠢部分的CMD".我喜欢把它想象成"没有任何有用位的Bash".
学习PowerShell时遇到真正挫败感的最快方法就是首先考虑它只是一个扩展的CMD或bash.它有一个根本不同的型号,*特别是*在输入,输出,管道和结果方面.从一个好的教程或概述开始,不要太努力使其他shell的语法工作.你必须按照自己的条件来接受它.
你也可以做`build; if($?){run_tests}`在命令行上也是如此.
RE:"他们会删除"的荒谬" - 我不喜欢将PowerShell视为"删除了愚蠢部分的CMD".http://is.gd/k92B

2> Jeffrey Snov..:

&&和|| 在要实现的事情列表中(仍然是)但没有弹出作为下一个最有用的东西添加.原因是我们有-AND和-OR.如果您认为这很重要,请在Connect上提出建议,我们会将其视为V3.


你知道,问题仍然是如何写一个等价的,如果你添加一个*using*`-AND`的例子,你的答案会更有用.
我注册了Connect,并提名自己为powershell,但我无法弄清楚如何提出建议.Connect网站真的很复杂且令人困惑:-(
我找不到预先存在的请求,所以我做了一个:https://connect.microsoft.com/PowerShell/feedback/details/778798/implement-the-and-operators-that-bash-has
我希望杰弗里·斯诺弗正在倾听,这应该是现在实施它的足够理由.它已经太长了,现在PowerShell开始在地方弹出,比如VSCode将它用作Windows中的默认终端.这是没有&&的完全痛苦,` - 和'吃输出,根本不相同.
这很重要,因为它是一个基本的流量控制工具,用于比Windows更早的系统,几乎是永恒的.因此,提出了另一个突破linux和windows之间的区别.

3> Ivan..:

试试这个:

$errorActionPreference='Stop'; csc /t:exe /out:a.exe SomeFile.cs; a.exe


注意:如果第一个命令失败,第二个命令仍然会运行.
首选变量`$ ErrorActionPreference`仅控制_cmdlets_报告的非终止错误的处理方式; `csc`和`a.exe`之类的外部实用程序从不报告这样的错误(它们只反映它们在`$?`(成功标志)和`$ LASTEXITCODE`(报告的特定退出代码)中的退出状态),所以你的命令行相当于_both_命令的_unconditional_执行(相当于`cmd`的`csc/t:exe /out:a.exe SomeFile.cs&a.exe`)

4> Tomoyuki Aot..:

如果您的命令在cmd.exe中可用(类似python ./script.pyPowerShell命令,但不是ii .(例如,这意味着通过资源管理器打开当前目录)),则可以在PowerShell中运行cmd.exe。语法如下:

cmd /c "command1 && command2"

在此,由此问题中&&描述的cmd语法提供。

推荐阅读
女女的家_747
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有