Java 运行时进程执行问题

Java 运行时进程执行问题,java,runtime.exec,Java,Runtime.exec,是否有人能找到此代码的错误: Runtime rt = Runtime.getRuntime(); Process pr; File myFolder = new File("C:\\Temp"); pr = rt.exec("myExec.bat", null, myFolder); pr.waitFor(); pr.destroy(); 当我运行此代码时,会出现以下异常(使用的文件和文件夹按指定存在): 您是否确保您的bat文件位于“C:\Temp\myExec.bat”中 (只是猜测一下

是否有人能找到此代码的错误:

Runtime rt = Runtime.getRuntime();
Process pr;
File myFolder = new File("C:\\Temp");
pr = rt.exec("myExec.bat", null, myFolder);
pr.waitFor();
pr.destroy();
当我运行此代码时,会出现以下异常(使用的文件和文件夹按指定存在):


您是否确保您的bat文件位于“
C:\Temp\myExec.bat
”中


(只是猜测一下,但请确保该文件实际上没有被称为
C:\Temp\myExec.bat
.txt

您是否确保您的bat文件位于“
C:\Temp\myExec.bat
”中


(只是猜测一下,但请确保该文件实际上没有被调用
C:\Temp\myExec.bat
.txt

rt.exec希望没有路径信息的文件位于用户目录中,而不是指定用作工作目录的目录中。这样使用它

    Runtime rt = Runtime.getRuntime();
    Process pr;
    File myFolder = new File("C:\\Temp");
    pr = rt.exec(new File(myFolder, "myExec.bat").getAbsolutePath(), null, myFolder);
    pr.waitFor();
    pr.destroy();
只要文件c:\Temp\myExec.bat存在,就可以正常工作

格里茨,
GHad

rt.exec希望没有路径信息的文件位于用户目录中,而不是指定用作工作目录的目录中。这样使用它

    Runtime rt = Runtime.getRuntime();
    Process pr;
    File myFolder = new File("C:\\Temp");
    pr = rt.exec(new File(myFolder, "myExec.bat").getAbsolutePath(), null, myFolder);
    pr.waitFor();
    pr.destroy();
只要文件c:\Temp\myExec.bat存在,就可以正常工作

格里茨,
GHad

是,文件和文件夹正确,我可以从命令提示符处运行是,文件和文件夹正确,我可以从命令提示符处运行。你说得对,GHad,我明白你的意思,这解决了我的上述问题,但现在我面临另一个问题。我试图通过java运行python文件,但出现以下错误:“java.io.IOException:无法运行程序“C:\Temp\create application.py”:CreateProcess error=193,%1不是有效的Win32应用程序”。Python安装在我的机器上,我可以在命令promptUse“cmd/c:\Temp\create application.py”的第一个rt.exec参数上运行所有???.py。这应该可以,否则请尝试“启动C:\Temp\create application.py”。格里茨·加迪你说得对,加德,我明白你的意思,这解决了我的上述问题,但现在我面临另一个问题。我试图通过java运行python文件,但出现以下错误:“java.io.IOException:无法运行程序“C:\Temp\create application.py”:CreateProcess error=193,%1不是有效的Win32应用程序”。Python安装在我的机器上,我可以在命令promptUse“cmd/c:\Temp\create application.py”的第一个rt.exec参数上运行所有???.py。这应该可以,否则请尝试“启动C:\Temp\create application.py”。格里茨加德