[英]Why can't my Java web application find the .bat file?
我从Java Web应用程序运行的.bat文件遇到问题。
当前在本地计算机上的设置:创建Web应用程序和包含的方法
Process p = Runtime.getRuntime().exec("c:/test/myFile.bat");
当我运行上述代码时, file not found
显示file not found
。
但是,如果我将.bat文件复制到tomcat bin文件夹中,则工作正常。 但是我需要在单独的文件夹中执行bat文件,甚至还要设置类路径,但我无法执行bat。
屏幕1:
我已经在Tomcat根目录din文件夹中放置了5个文件,还在c:/ psgsscripts /->文件夹中放置了(检查Java代码;仅bat文件被获取了,其他.tbc文件正在查看Tomcat bin文件夹的位置,运行)
屏幕2:
bat文件包含tclsh psg.tbc%1
屏幕3:
类方法中的Web应用程序Java代码(newjobid是.bat文件的参数)
屏幕4:
如果我将所有的.bat文件和.tbc文件的bin文件夹都放好了(Java代码代表从C驱动器中读取.bat文件,但其他.tbc文件则在运行时查看Tomcat bin文件夹)
但要求将这些文件放置在其他驱动器(Tomcat文件夹除外)上,例如C或D或E驱动程序。
您需要执行以下命令来运行批处理文件,如下所示
Runtime.getRuntime().exec("cmd /c start c:\\test\\myFile.bat");
请尝试以下操作:
Process p = Runtime.getRuntime().exec("cmd /C start c:/test/myFile.bat");
如果您查看java docs ,则方法exec期望使用OS命令而不是文件名。 因此,在所提出的解决方案中,“ cmd”是OS命令, /C
是一个告诉OS命令执行由string指定的命令然后终止的开关。 在此,由字符串指定的命令为start
。 命令“开始”需要一个具有完整路径的文件名作为其参数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.