我有一个带有选项的批处理文件,但我希望自动执行这些选项,但我不知道哪个是哪个。
批处理运行后,它会提示输入密码,我也想从同一个文件中自动执行该密码。(安全需求低/不是至关重要的)
球棒
@echo 关闭
java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -jar BubbleUPnPTetherClient.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
问:如何找出这些选择值并在执行时自动执行该脚本?
答案1
第 1 部分:批处理文件。
您启动的批处理文件部分执行以下操作:
打开提示符(例如 cmd.exe)并输入mybatch.bat red white blue
。
这将启动一个名为“mybatch.bat”的文件
在该批处理文件中,您可以访问一些变量。在我们的示例中:%0 是 mybatch.bat(程序名称)
%1 是红色
%2 是白色
%3 是蓝色
%4 在我们的示例中为空,...
第 2 部分:Java。
java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -jar BubbleUPnPTetherClient.jar %1 %2 %3 %4 %5 %6 %7 %8 %9
java
启动 Java 解释器。
接下来是一些选项。例如-Xss256k
,-Djava.awt.headless=true
和-Djava.net.preferIPv4Stack=true
目前,其中大多数对我们来说都不有趣。
-jar BubbleUPnPTetherClient.jar
您的实际 Java 程序并没有做太多有趣的事情(至少对您而言)。它只是执行命令。.jar 文件包含命令列表。(例如,要求输入密码、使用该密码连接到某个设备、传递绑定数据......'
解决方案。
其中一条指令是要求输入该密码。这意味着您要编辑 jar 文件。也许将密码永久添加到其代码中。
或者,它可能会接受密码作为其输入参数之一。这应该在程序手册中。在这种情况下,你可以用这样的方式启动它:java -Xss256k -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -jar BubbleUPnPTetherClient.jar PASSWORD
(您也可以将该密码提供给批处理文件。然后 %1 将会把您输入的任何内容传递给 java 程序)。
第三,如果两者都不起作用,那我们就没运气了。切换到另一个程序或使用 autoIT 之类的程序来处理事件。
答案2
我猜哪个选项是哪个并不重要,因为没有给定的顺序。如果您不想被要求输入密码,只需使用密码选项:
launch.bat -connect https://myhostname.org:58051 -login mylogin -password yourpassword
您可以在以下位置找到所有选项的文档他们的主页