如何在 powershell 脚本中为 java 程序传递用户输入

How to pass user inputs for a java program in powershell script

我有一个 java 程序 abc.java 提示用户进行一些输入。现在我在我的 powershell 脚本中调用这个 java 文件。当我执行 powershell 时,它会提示输入。那么现在如何在此处输入用户输入?

我的powershell脚本如下:

cd 'C:\LDAP\test1'
java abc

上面运行的输出结果如下:

PS C:\> C:\LDAP\sample.ps1
Enter the prefix:

现在如何输入值?我可以在 运行 时间内输入输入,甚至可以在 powershell 脚本中硬编码输入。

System.out.println("Enter the prefix:"); 

String strPrefix = objScanner.nextLine(); 

System.out.println("Enter the Country:"); 

String strLocation = objScanner.nextLine();

我是这样写的abc.java

import java.util.Scanner;        

class abc {
    public static void main(String[] args) {
        try {
            Scanner objScanner = new Scanner(System.in);
            System.out.print("Enter the prefix:"); 
            String strPrefix = objScanner.nextLine(); 
            System.out.println("Prefix is \"" + strPrefix + "\"");

            System.out.print("Enter the Country:"); 
            String strLocation = objScanner.nextLine();
            System.out.println("Country is \"" + strLocation + "\"");
        } catch(Exception e) {
            e.printStackTrace();
        }
    }
}

而我的 powershell 如下所示。

PS C:\> C:\LDAP\sample.ps1
Enter the prefix:Mr
Prefix is "Mr"
Enter the Country:America
Country is "America"

如果你使用

System.out.println("Enter the prefix:"); 

System.out.println("Enter the Country:"); 

,powershell好像如下

PS C:\> C:\LDAP\sample.ps1
Enter the prefix:
Mr
Prefix is "Mr"
Enter the Country:
America
Country is "America"