Ori*_*rds 150 syntax powershell
&&众所周知难以在谷歌搜索,但我发现的最好的是这篇文章说要使用-and.
不幸的是它没有提供任何更多的信息,我无法找到我应该做的事情-and(再次,一个众所周知的难以搜索)
我正在尝试使用它的上下文是"执行cmd1,如果成功,执行cmd2",基本上这样:
csc /t:exe /out:a.exe SomeFile.cs && a.exe
Run Code Online (Sandbox Code Playgroud)
这应该是一个容易的几个代表谁知道,谢谢!
编辑:如果你只想在一行上运行多个命令,而你不在乎第一个是否失败,你可以使用;我的大多数用途这是好的
例如:kill -n myapp; ./myapp.exe.
Jay*_*uzi 149
在CMD中,'&&'表示"执行命令1,如果成功,则执行命令2".我把它用于以下事情:
build && run_tests
Run Code Online (Sandbox Code Playgroud)
在PowerShell中,您可以做的最接近的事情是:
(build) -and (run_tests)
Run Code Online (Sandbox Code Playgroud)
它具有相同的逻辑,但命令的输出文本丢失.不过,也许这对你来说已经足够了.
编辑
如果您在脚本中执行此操作,则最好将分隔语句分开,如下所示:
build
if ($?) {
run_tests
}
Run Code Online (Sandbox Code Playgroud)
Jef*_*SFT 28
&&和|| 在要实现的事情列表中(仍然是)但没有弹出作为下一个最有用的东西添加.原因是我们有-AND和-OR.如果您认为这很重要,请在Connect上提出建议,我们会将其视为V3.
Iva*_*van 11
试试这个:
$errorActionPreference='Stop'; csc /t:exe /out:a.exe SomeFile.cs; a.exe
Run Code Online (Sandbox Code Playgroud)
PS C:\> $MyVar = "C:\MyTxt.txt"
PS C:\> ($MyVar -ne $null) -and (Get-Content $MyVar)
True
Run Code Online (Sandbox Code Playgroud)
($MyVar -ne $null)回到真正的和(Get-Content $MyVar)也返回真。
PS C:\> $MyVar = $null
PS C:\> ($MyVar -ne $null) -and (Get-Content $MyVar)
False
Run Code Online (Sandbox Code Playgroud)
($MyVar -ne $null)返回false,到目前为止我必须假设(Get-Content $MyVar)也返回false。
PS C:\> ($MyVar -ne $null) -and (Get-Content "C:\MyTxt.txt")
False
Run Code Online (Sandbox Code Playgroud)
($MyVar -ne $null)返回错误并证明了第二个条件(Get-Content "C:\MyTxt.txt")绝然,通过返回错误对整个命令。
如果您的命令在cmd.exe中可用(类似python ./script.pyPowerShell命令,但不是ii .(例如,这意味着通过资源管理器打开当前目录)),则可以在PowerShell中运行cmd.exe。语法如下:
cmd /c "command1 && command2"
Run Code Online (Sandbox Code Playgroud)
在此,由此问题中&&描述的cmd语法提供。
| 归档时间: |
|
| 查看次数: |
81987 次 |
| 最近记录: |