Dobry den,
nepredavejte prikazovou radku jako jeden String, ale jako pole, kde kazdy parametr bude jeden zaznam, pomoci metody
http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Runtime.html#exec(java.lang.String[],%20java.lang.String[],%20java.io.File)
ve Vasem pripade neco jako:
pole[0] = "cmd";
pole[1] = "/c";
pole[2] = "start";
pole[3] = "/d";
pole[4] = "c:\\adresar s mezerou\";
Runtime.exec(pole, null, new File());
atd.
chce to trochu experimentovani, ale melo by to zafungovat.
-----Original Message-----
From: [EMAIL PROTECTED] on behalf of Ondrej Kvasnovský
Sent: Thu 19.10.2006 18:45
To: [email protected]
Subject: cmd exe -8.3 format cesty souboru
Zdravím konferenci,
mam dotaz jak zapsat cestu S MEZERAMI k souboru aby ho prikazova radka rozpoznala. Príklad:
Spoustim *.bat soubor pomoci metody exec() a prikazove radky ktery ma jako parametr vstupni soubor. Konkretene potrebuji zkompilovat *.tex soubor. Uvadim zdrojovy kod:
String command = "cmd /c start /d\"c:\\adresar s mezerou\" \"nazev okna v cmd.exe\" file:/c:/Program%20Files/TeXLive/bin/win32/pdfcslatex.bat -output-directory=\"c:adresar s mezerou\" --src -interaction=nonstopmode \"c:/adresar s mezerou/soubor.tex\"
spustim : Runtime r = Runtime.getRuntime();
Process p;
p = r.exec(command, null, new File(c:\\adresar s mezerou));
tim spustim prikazovou radku, aktualni adresar bude 'adresar s mezerou', nazev okna bude 'nazev okna v cmd.exe', spusti soubor file:/c:/Program... vysledek ulozi do 'adresar s mezerou' a zkompiluje soubor 'soubor.tex'
Problem je v tom, jak to zapsat do Stringu command tak aby to windows (command line) poznala. Chci se vyvarovat psani '%20' misto kazde mezery v ceste BAT souboru nebo typu c:/Progra~1/... Zkratka jak to napsat tak abych nemusel nikam nic doplnovat, pouze pouzil metody tridy File (getPath(), getAbsolutePath() atd.).
Díky za help.
Title: RE: cmd exe -8.3 format cesty souboru
