繁体   English   中英

为什么我的Java Web应用程序找不到.bat文件?

[英]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驱动程序。

屏蔽1

画面2

屏幕3

屏幕4

您需要执行以下命令来运行批处理文件,如下所示

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM