Witam,
szperałem w necie, coś kombinowałem (może za słabo?) ale nie udaje mi się wykonać kilku poleceń CMD po sobie. Kolejny zgłasza błąd w nowym oknie, że plik jest zajęty przez inny proces.
Przykładowy kod:
Process p = Runtime.getRuntime().exec("reg export \"HKEY_LOCAL_MACHINE\\Hardware\" c:\\temp\\rejestr.reg");
p.waitFor();
Process q = Runtime.getRuntime().exec("cmd.exe /c start copy c:\\temp\\rejestr.reg c:\\moje\\rej01.reg");
q.waitFor();
Process r = Runtime.getRuntime().exec("cmd.exe /c start TYPE c:\\temp\\rej01.reg > c:\\temp\\rej01.txt");
r.waitFor();
Wynikiem tego jest utworzenie pliku rejestru, przekopiowanie w odpowiednie miejsce ale natomiast przekonwertowanie już nie działa (zgłasza, że nie może odnaleźć określonego pliku). Gdy robię z palca bezpośrednio po wykonaniu programu wszystko jest ok.
Wydaje mi się, że chce on konwertować zanim plik się pojawi w odpowiednim miejscu.
Czy jest jakieś polecenie, które spowoduje to, że przy zakończeniu procesu np. p, proces p oznajmi, że zakończył działanie, przekaże to info do procesu q, ten uaktywni się, wykona polecenie, przekaże procesowi r, że zakończył działanie i uaktywni się proces r? Takie szeregowanie powiadamianie się :) p > q > r
dzięki wielkie za pomoc.
Pozdrawiam