【问题标题】:Why can't my Java web application find the .bat file?为什么我的 Java Web 应用程序找不到 .bat 文件?
【发布时间】:2016-11-12 00:46:26
【问题描述】:

我遇到了从 Java Web 应用程序运行的 .bat 文件的问题。

本地机器中的当前设置:创建 web 应用程序和方法包含

Process p = Runtime.getRuntime().exec("c:/test/myFile.bat");

当我运行上面的代码时,它显示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 驱动程序。

【问题讨论】:

标签: java spring-mvc


【解决方案1】:

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

Runtime.getRuntime().exec("cmd /c start c:\\test\\myFile.bat");

【讨论】:

  • 感谢您的宝贵回复,但在我的情况下,当我运行 Web 应用程序时,cmp 提示会显示...我如何限制它(需要关闭 cmp 提示),内部 bat 文件调用其他 .tbc 文件(这些文件也放在同一个“c:/test”文件夹中,但没有被识别。但是当我将“.tbc”文件放在“tomcat/bin”文件夹中时,它工作得很好,但我不想要将文件放在 bin 文件夹中。请帮助我解决这个问题
  • 感谢您的宝贵回复,但在我的情况下,当我运行 Web 应用程序时,cmp 提示会显示...我如何限制它(需要关闭 cmp 提示),内部 bat 文件调用其他 .tbc 文件(这些文件也放在同一个“c:/test”文件夹中,但没有被识别。但是当我将“.tbc”文件放在“tomcat/bin”文件夹中时,它工作得很好,但我不想要将文件放在 bin 文件夹中。请帮助我解决这个问题
【解决方案2】:

尝试以下方法:

Process p = Runtime.getRuntime().exec("cmd /C start c:/test/myFile.bat");

如果您查看java docs,方法 exec 需要一个操作系统命令而不是文件名。所以在建议的解决方案中,“cmd”是操作系统命令,/C 是一个开关,告诉操作系统命令执行字符串指定的命令,然后终止。这里字符串指定的命令是start。命令“start”需要一个带有完整路径的文件名作为其参数。

【讨论】:

  • 感谢您的宝贵回复,但在我的情况下,当我运行 Web 应用程序时,cmp 提示会显示...我如何限制它(需要关闭 cmp 提示),内部 bat 文件调用其他 .tbc 文件(这些文件也放在同一个“c:/test”文件夹中,但没有被识别。但是当我将“.tbc”文件放在“tomcat/bin”文件夹中时,它工作得很好,但我不想要将文件放在 bin 文件夹中。请帮助我解决这个问题
  • .bat 文件包含“tclsh psg.tbc %1”(仅它的单行代码,这里 %1 是来自 java 代码的输入参数)但运行时 jvm 会查看 tomcat bin 文件夹中的 .tbc 文件只是,我该如何改变呢?
  • cmp prompt 是什么意思?你能分享一下它的截图吗?另外,您能否分享您的批处理文件中尝试调用 *.tbc 文件的部分?
  • 嗨,兄弟。你能检查附加的屏幕和问题描述吗?请尽快回复。
  • 给出 tbc 文件的完整路径。将您的批处理文件更新为tclsh c:\psgscripts\psg.tbc %1。
猜你喜欢
  • 2017-05-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-12
  • 2014-06-26
  • 1970-01-01
  • 1970-01-01
  • 2020-12-30
相关资源
最近更新 更多