私はjavaを使ってスクリプトを書いていますが、私はインストール後にアプリケーションをインストールするために.exeファイルを実行しています。しかし、問題は、インストールが完了する前に、マシンの場所にファイルを貼り付けるための次のステップが起こっていることです。したがって、インストールが完了していないので、ヌルファイルを貼り付ける結果、ファイルがそこにあります。前のステップが終わるまで私のプロセスを止めることができます。私はthread.sleep(10000)を使用しようとしましたが、インストール時間が変わる可能性があります。前の手順が終了するまで私のプロセスを止める方法
public class threadJoin {
public static void main(String s[]){
Runnable r = new Runnable() {
@Override
public void run() {
File f = new File("C:\\D\\EVProject\\");
FilenameFilter textFilter = new FilenameFilter() {
public boolean accept(File dir, String name) {
return name.startsWith("EVProject");
}
};
File[] files = f.listFiles(textFilter);
for (File file : files) {
try {
String filexy = file.getCanonicalPath();
System.out.print(filexy);
Runtime.getRuntime().exec(filexy);
//Thread.sleep(10000);
} catch (IOException ex) {
Logger.getLogger(threadJoin.class.getName()).log(Level.SEVERE, null, ex);
}
}
}
};
Runnable r2 = new Runnable() {
@Override
public void run() {
String l ="C:\\Program Files\\PD ";
String m = "C:\\0.0.9.8";
File srcDir = new File(l);
File destDir = new File(m);
try {
FileUtils.copyDirectory(srcDir, destDir);
} catch (IOException e) {
}
throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
}
};
Thread t1= new Thread(r);
Thread t2 = new Thread(r2);
t1.start();
try{
t1.join();
}catch(InterruptedException e){
}
t2.start();
}
}
コードを表示できますか? –
プログラムはインストールが完了したことをどのようにして知っていますか? –
インストールの完了を確認していません。私のプログラムはちょうど.exeファイル@DanielWiddisを起動します – BleedCode