25-11-11, 14:19 | # 1 |
עסק רשום [?]
|
העברת פרמטר עם עברית בCMD
אני עובד כרגע על תוכנה מסויימת שעובדת עם קובץ EXE חיצוני שמקבל נתיב של קובץ ומחזיר לי מידע עליו. אז יצרתי קובץ BAT שיקבל כפרמטר את הנתיב לקובץ ויפעיל את הEXE עם הנתיב של הקובץ. ואת הקובץ BAT אני מריץ דרך התוכנה.
משהו כזה: זה התוכנה: קוד:
Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("test.bat \""+path+"\""); קוד:
cd clientdir client -paramter %1 מישהו מכיר פיתרון לבעיה? תודה עריכה: ניסיתי להיפטר מהקובץ BAT ולעשות הכל בפקודה אחת ככה: קוד:
Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("cmd /U /c \"cd clientdir && client -para \""+path+"\"\""); Last edited by Erez | TrustMedia.co.il; 25-11-11 at 14:38.. |
26-11-11, 04:18 | # 2 |
אחראי קהילה
|
השגיאה באה מתוך התוכנה שאתה מריץ (exe) או מתוך הcmd? מה בעצם התשובה שאתה מקבל בעת ההרצה?
|
26-11-11, 05:37 | # 3 |
חבר בקהילה
|
לא כלכך מובן על איזה פרמטר מדובר שגורם לך לשגיאה.. האם זה בתוכנה? או בקובץ Bat?
אם זה בקובץ ריצה (exe) - האם זאת שגיאת קומפליציה או שגיאת ריצה? - מה השגיאה? - אם זה בקובץ Bat ה Command Prompt לא תומך בעברית |
26-11-11, 17:44 | # 5 |
אחראי קהילה
|
הcmd לא ממש תומך בעברית, זה מציג גי'בריש. אבל זה לא בעיה, זה כן אמור לפתוח.
אני חושב שהבעיה שבקוד שכתבת אתה צריך לתמוך בunicode, אולי להמיר את הpath שנתת לutf-8 וכך זה כן ייפתח (אבל עדיין יציג גי'בריש כי ה cmd לא תומך בעברית) |
26-11-11, 19:37 | # 6 |
עסק רשום [?]
|
קוד:
FILECHOOSE: JFileChooser fc = new JFileChooser(); fc.showOpenDialog(null); String response = Fingerprint.getFingerPrint(fc.getSelectedFile().getAbsolutePath()); FINGERPRINT: static String getFingerPrint(String path) { try { Runtime rt = Runtime.getRuntime(); Process pr = rt.exec("cmd /A /c \"cd lastfmclient && lastfmfpclient -nometadata \""+path+"\"\""); BufferedReader input = new BufferedReader(new InputStreamReader(pr.getInputStream())); String line=null; while((line=input.readLine()) != null) { System.out.println(line); } } catch(Exception e) { return e.toString(); } } אבל כמו שאמרתי בעברית זה עובד ובאנגלית זה לא. ניסיתי גם ידנית מהCMD לרשום לו שם את הנתיב בעברית (הוא שינה לג'יבריש) וזה גם לא עבד. ניסיתי בהגדרות של השורה שזה ירוץ ביוניקוד וגם בASCII (ה\A שמופיע בשורת הפקודה בקוד) ולא עזר :/ תודה על העזרה |
חברים פעילים הצופים באשכול זה: 1 (0 חברים ו- 1 אורחים) | |
|
|