如何使用java或C#.net GUI应用程序交互.bat文件?这是我的.bat代码的一部分。
:Valid
echo Enter student id:
set/p "pass=>"
if NOT %pass%== UserStudentId goto FAIL
当我运行.bat文件时,它将在命令提示符中询问Enter student id:
,然后验证学生ID并执行一些过程。
我想将此输入从java或C#.net IDE传递到.bat文件并继续该过程。在这里用户永远不会处理命令提示符。
如果.bat有任何输出,它也会在java或.net IDE中显示。
我想知道是否有可能,因为我是新手。 TX。
答案 0 :(得分:2)
当您从Java或C#启动进程时,您可以将该进程的控制台输入和输出作为流。然后,您可以简单地写入流程的输入流。
但可能,批处理文件实际上不会那样,因为cmd
可能会查找set /p
的实际交互式输入(例如,它失败了文件重定向,如果我没记错的话)。如果您控制批处理文件本身,更好的方法如下:
if defined pass goto SkipInput
set /p pass=Enter student ID:
:SkipInput
将使用环境变量(如果存在),仅询问用户是否尚未设置。这更加自动化,因为您可以在调用进程中设置环境变量,并为您生成的每个进程继承它。也没有模拟输入的麻烦。