如何在PowerShell中连续执行命令

在命令行中,我们经常会使用cmd1 && cmd2这样的表达式衔接多条命令,表示如果cmd1执行成功则继续执行cmd2。但是同样的运算符(&&)在PowerShell中却不行。

这其实是个简单的语法问题……

通过查资料,原来PowerShell有自己的表达方式:-and-or
-and: 左侧命令执行成功(返回true)才继续执行右侧命令
-or: 无论左侧命令是否(返回false)都会继续执行右侧命令

示例:

# Bash
cd / && ls
# PowerShell
(cd C:\) -and (dir)

这样,在PowerShell中,我们也可以顺序执行多条命令了。

更新
感谢@gujun 提供另外一种解决方案,使用;连接两个语句也能够起到连续执行的目的,不过要注意,这种方法下,无论第一个命令成功与否,后续命令都会继续执行。

如果命令序列实在复杂,还是用if比较妥当。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Java程序执行PowerShell命令,可以使用Java的ProcessBuilder类来创建一个PowerShell进程,然后将命令作为参数传递给进程。 以下是一个示例代码,用于在Java调用PowerShell执行命令: ``` import java.io.*; public class PowerShellExecutor { public static void main(String[] args) { // command to execute in PowerShell String command = "Get-Process | Select-Object Name, Id, CPU | Sort-Object -Descending -Property CPU"; // create PowerShell process ProcessBuilder processBuilder = new ProcessBuilder("powershell.exe", command); // set working directory (optional) processBuilder.directory(new File("C:/Users/Username/Desktop")); try { // start the process Process process = processBuilder.start(); // read output from PowerShell process InputStream inputStream = process.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line = reader.readLine()) != null) { System.out.println(line); } // close streams reader.close(); inputStream.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在这个示例,我们创建了一个名为`PowerShellExecutor`的类,它包含一个名为`main`的方法,该方法在Java调用PowerShell执行给定的命令。 首先,我们定义了要执行PowerShell命令,即获取所有进程并按CPU使用率排序。 然后,我们使用`ProcessBuilder`类创建了一个PowerShell进程,并将命令作为参数传递给进程。我们还可以通过调用`processBuilder.directory`方法设置进程的工作目录。 接下来,我们启动了PowerShell进程,并通过从进程的输出流读取数据来获取命令的输出。我们使用`BufferedReader`和`InputStreamReader`来读取输出流的数据,并将其打印到控制台上。 最后,我们关闭了流并处理了任何可能的异常。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值