2016-09-30 40 views
1

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のスクリプトを読み込むしようとしています。私はそれが彼らと同じエラーになるのだろうと思っていたので。ご協力ありがとうございました。

答えて

1

Perlがインストールされていますか? WindowsにはPerlがインストールされていないので、ソースコードからPerlをコンパイルするか、Windows用のPerlディストリビューションをインストールする必要があります。 Windows用の一般的なPerlディストリビューションは、Strawberry Perl、ActiveStateのActivePerlおよびCitrus Perlです。

個人的には、私はWindowsでPerlスクリプトを実行するために "script.pl"の代わりに "perl script.pl"と入力するという習慣に慣れてきました。使用しようとしているように見える第2の方法は、OSがすべての* .plファイルに対してperl.exeを使用することを知っているように、Windowsでファイル関連付けをセットアップすることに依存しています。 .plファイル用にファイルの関連付けが設定されているかどうかを確認するには、コマンドプロンプトを開き、「assoc .pl」と入力します。 * .plファイル用にファイルの関連付けが設定されていない場合は、「C:\ Users \ luenwong \ Desktop \ hello_world.pl」の代わりに「perl C:\ Users \ luenwong \ Desktop \ hello_world.pl」を呼び出すコードを変更する必要があります。 luenwong \ Desktop \ hello_world.pl "と入力します。または、ファイルの関連付けを修正しようとすることもできます。クイック検索を実行すると、Windows 7でこれを行うためにこのinstructionsのセットが見つかりました。他のWindows OSでは、手順が多少異なる場合があります。

Javaコードで問題をデバッグするのに役立つことはできませんが、コードが実行していると思われる場合は、Perlをインストールしていないか、ファイルがありません* .plファイル用に設定された関連付け。だから、Perlがインストールされていることを確認し、ファイルの関連付けをチェックすることは、Perl側のデバッグの第一歩です。

+0

ありがとうございます。 perlをインストールした後で動作します。 –

関連する問題