2016-07-29 3 views
0

Javaプログラムを使用してAndroid携帯からアプリを抽出しようとしています。 私のバッチファイルを呼び出すコードは、次のとおりです。 -Eclipse上でプログラムを実行するとバッチファイルが実行されますが、jarファイルが使用されているときに問題が発生します

public static void batch(String a,String b) throws InterruptedException 
    { 
    try { 
     fchooser fc=new fchooser(); 
     String fg=fc.antd; 
     String arg1=a; 
     String userinp1=b; 
     String dir=System.getProperty("user.dir");; 


     JOptionPane.showMessageDialog(null, "this is batchrun and path is "+fg); 


    Process pan = Runtime.getRuntime().exec(new String[] {"C:\\test1.bat",arg1,fg}); 

     pan.waitFor(); 
     ............ 

ARG1とFGは、Iiは、バッチファイルに渡す2つの引数です。

arg1= /system/app/Chrome 
fg= C:\Users\sumeet.p1\Desktop\test2 

バッチファイルをEclipseで

cd %2 
adb pull %1 
pause 

で、プログラムが正常に動作し、FGで指定loactionにファイルを抽出し、[このケースで - C:\ Users \ユーザーsumeet.p1 \デスクトップ\ test2]しかし、このプログラムのjarファイルを使用すると、ファイルはjarファイルが保存されているフォルダに展開され、fgで指定された場所には展開されません。どんな助けもありがとう。ありがとう:)

+0

も参照[のRuntime.exec()はしません](http://www.javaworld.com/article/2071275/ core-java/when-runtime-exec --- won-t.html)を参照してください。それを無視すると 'exec'が参照され、' ProcessBuilder'を使用してプロセスが作成されます。また、 'String arg'を' String [] args'に分割して、スペース文字を含むパスのようなものを説明してください。 –

答えて

0

問題はバッチスクリプトのcd %2行であると思います。ドライブの変更により、コマンドラインjarから期待通りにディレクトリを変更していない可能性があります。

、以下に示すようcd /d %2作品にそれを変更するかどうかを確認してください:

cd /d %2 
adb pull %1 
関連する問題