提问者:小点点

Java-在同一个shell中逐行执行命令


我是新来Java的泰伦开放工作室。 我想知道是否有可能使用“import-module ActiveDirectory”执行powershell.exe,然后在不使用“import-module.。。”重新加载powershell的情况下启动dynamics命令。

我知道这行不通,但我的想法可以这样翻译:

Runtime.getRuntime().Exec("powershell.exe");
Runtime.getRuntime().Exec("Import-Module ActiveDirectory");
Runtime.getRuntime().Exec("Get-ADUser TestLogin");
Runtime.getRuntime().Exec("Set-ADUser -Identity TestLogin -Company MyCompany");
Runtime.getRuntime().Exec("Get-ADUser TestLogin_2");
Runtime.getRuntime().Exec("Set-ADUser -Identity TestLogin_2 -Company MyCompany");

我不想查看脚本文件,因为第一个更新命令(Set-ADUser)可能会对下一个更新命令产生影响。

谢了。


共1个答案

匿名用户

如果我没听错的话,试试这个:

import java.io.IOException;

public class Main {

    public static void main(String[] args) {
        String[] commands = { "cd ~", "mkdir folder", "cd folder"};
        for (String command : commands) {
            execCommand(command);
        }
    }

    private static void execCommand(String command) {
        try {
            Runtime.getRuntime().exec(command).waitFor();
        } catch (InterruptedException | IOException e) {
            e.printStackTrace();
        }
    }
}