【问题标题】:How to pass user inputs for a java program in powershell script如何在powershell脚本中为java程序传递用户输入
【发布时间】:2021-04-29 11:29:12
【问题描述】:

我有一个 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();

【问题讨论】:

  • powershell运行时,不再出现prompt?另外,你能展示一下使用代码吗?
  • 出现提示。但是从powershell运行时,提示出现时我无法输入输入。实际上,当 java 程序运行时,它会不断要求提示,用户可以输入。那么在运行 java 程序作为 powershell 脚本运行的一部分时如何做到这一点呢?
  • 在这种情况下,我认为向我们展示代码将有助于我们为您提供帮助。
  • 你是说Java代码?
  • 是的,我说的是java代码

标签: java powershell user-input prompt


【解决方案1】:

我是这样写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"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2020-08-31
    • 1970-01-01
    相关资源
    最近更新 更多