阅读perl脚本错误:CreateProcess错误= 193,%1不是有效的Win32应用程序
我想从perl文件读取perl脚本,但我得到CreateProcess错误= 193,%1不是有效的Win32应用程序,我不知道如何解决这个问题。阅读perl脚本错误:CreateProcess错误= 193,%1不是有效的Win32应用程序
下面的代码是我现在拥有的。
public static void Extract(){
Process process;
try
{
String testFile = "C:\\Users\\luenwong\\Desktop\\hello_world.pl";
process = Runtime.getRuntime().exec(testFile);
process.getOutputStream();
process.waitFor();
if(process.exitValue() == 0)
{
System.out.println("Command Successful");
BufferedReader br = new BufferedReader(new InputStreamReader(process.getInputStream()));
StringBuffer sb = new StringBuffer();
String line;
while((line = br.readLine()) != null){
sb.append(line).append("\n");
}
String answer = sb.toString();
System.out.println("Answer "+ answer);
}
else
{
System.out.println("Command Failure");
}
}
catch(Exception e)
{
System.out.println("Exception: "+ e.toString());
}
}
我已经发现了一些具有相同的错误雷人,但他们正试图读取文件的bash而不是Perl脚本。所以我想知道它会和他们一样的错误。感谢您的帮助。
您是否安装了Perl? Windows没有安装Perl,这意味着您需要从源代码编译Perl或为Windows安装Perl分发。一些流行的用于Windows的Perl发行版是Strawberry Perl,ActiveState的ActivePerl和Citrus Perl。个人而言,我已经习惯于输入“perl script.pl”而不是“script.pl”来在Windows中运行我的Perl脚本。第二种方法似乎是你正在尝试使用的方法,它依赖于在Windows中设置文件关联,以便操作系统知道所有* .pl文件都使用perl.exe。要确定是否为.pl文件设置了文件关联,可以打开命令提示符并键入'assoc .pl'。如果您没有看到为* .pl文件设置了文件关联,那么您需要修改您的代码,调用“perl C:\ Users \ luenwong \ Desktop \ hello_world.pl”而不是“C:\ Users \ luenwong \桌面\ hello_world.pl”。或者你可以尝试修复文件关联。做了一个快速搜索,我在Windows 7上找到了这样一套instructions。对于其他Windows操作系统,这些步骤可能略有不同。
我无法帮助调试Java代码中的问题,但是如果您的代码正在执行我认为正在执行的操作,则会显示您没有安装Perl或者没有文件关联为* .pl文件设置。因此,验证Perl是否已安装并检查文件关联是我在调试Perl方面的第一步。
谢谢。它在我安装perl之后起作用。 –