Odpalenie pliku zewnętrznego z javascriptu

0

witam,

w pliku javascript dołączanym do pewnego htmla mam coś takiego:

<ort>importClass(Packages.java.lang.Runtime);

funkcja(){
var p = Runtime.getRuntime().exec("c:\plik.bat");
}</ort>

plik.bat ma w sobie wpisane 'cmd'

W momencie kliknięcia na plik plik.bat odpala mi się command. Gdy jednak aplikacja na której pracuję wywoła funkcję funkcja() w procesach w managerze zadań widzę, że tworzy się proces cmd.exe i conhost.exe, konsola jednak się nie uruchamia. (dla 10 wywołań funkcja() tworzy się 10 prcesów).

Zmieniłem wnętrze pliku bat na 'cmd > a'. W tym momencie po kliknięciu na plik.bat tworzy mi się w katalogu plik 'a'. Kiedy wywołuję to spod mojej aplikacji ten plik nie powstaje i w managerze zadań też nie ma żadnych dodatkowych procesów.

Aplikacja uruchamiająca js widzi plik dobrze, jeśli zmienię jego nazwę to od razu wyrzuca błąd, że plik nie istnieje. Jeśli wypluję sobie do loga zawartość zmiennej 'p' to otrzymuję: java.lang.ProcessImpl@xxxxxxx - gdzie xxxxxxx to numer utworzonego obiektu(?).

Użycie p.waitFor(); zawiesza aplikację wywołującą js na amen.

Zmiana pliku bat na dowolny inny (exe, jpg, txt) daje w sumie takie same efekty. Plik ostatecznie się nie odpala.

Uprawnienia dla plik.bat są nadane 'wszystkie dla wszystkich'.

Co może być przyczyną? Dlaczego plik jest widziany, exec połowicznie działa, nadaje numer obiektowy, a jednak sam plik się nie uruchamia? Docelowo chcę odpalać pliki exe, ale na początek sam bat wystarczy.

0

w miejscu błąd ortograficzny powinno być:

importClass(Packages.java.lang.Runtime);

funkcja(){
var p = Runtime.getRuntime().exec("c:\\plik.bat");
}

1 użytkowników online, w tym zalogowanych: 0, gości: 1