मेरे जावा एप्लिकेशन में, मैं एक बैच फ़ाइल चलाने के लिए चाहता हूं जो "scons -Q implicit-deps-changed build\file_load_type export\file_load_type
"मैं अपने जावा एप्लिकेशन से बैच फ़ाइल कैसे चला सकता हूं?
ऐसा लगता है कि मुझे निष्पादित करने के लिए मेरी बैच फ़ाइल भी नहीं मिल सकती है। मैं विचारों से बाहर हूं।
यह है कि मैं क्या जावा में है: पहले
Runtime.
getRuntime().
exec("build.bat", null, new File("."));
, मैं एक अजगर Sconscript फ़ाइल है कि मैं चलाने के लिए चाहती थी लेकिन जब से बात नहीं बनी मैंने तय कर लिया कि मैं एक बैच फ़ाइल के माध्यम से स्क्रिप्ट कहेंगे लेकिन यह विधि अभी तक सफल नहीं हुई है।
Runtime.getRuntime().exec(new String[]{"cmd.exe", "/c", "build.bat"});
सैद्धांतिक रूप से आप भी इस तरह से SCons चलाने के लिए सक्षम होना चाहिए, हालांकि:
मेरे लिए यह कहता है कि विंडोज़ "build.bat" नहीं ढूंढ सकता है। तो मुझे यह फाइल कहां रखनी चाहिए? या मुझे रास्ता कैसे देना चाहिए। कोई सुझाव? – nanospeck
मान लें कि मेरे पास कमांड की एक सरणी है और फिर उस सरणी को सभी आदेशों को निष्पादित करने के लिए (i = 0 कमांड। लम्बाई) { रनटाइम.getRuntime()। Exec ("cmd/c start buil.bat") ; } फिर प्रत्येक पुनरावृत्ति के लिए (प्रत्येक आदेश के लिए) एक कमांड विंडो खोला जा रहा है जो स्पष्ट है। इससे कैसे बच सकता है मेरा मतलब है कि एक खिड़की पर सभी आदेशों को निष्पादित करना। – viveksinghggits
हमारे पास कुछ कोड है जो सीधे "cmlew.bat" को इसके सामने "cmd/c" सामग्री डाले बिना कॉल कर रहा है, और वह कोड किसी भी तरह से काम कर रहा है। तो मुझे लगता है कि किसी भी समय जावा या विंडोज समस्या का निश्चित हिस्सा है। अगर हम "gradlew" निष्पादित करने का प्रयास करते हैं, जो विफल रहता है, तो अंत में ".bat" अभी भी स्पष्ट रूप से आवश्यक है। – Trejkaz