एक परियोजना के लिए मैं कर रहा हूँ मुझे कुछ विंडोज कमांड चलाने की जरूरत है और फिर उनके आउटपुट को पार्स करें। विशेष रूप से, जिन आज्ञाओं में मेरी रुचि है वे हैं:
- netstat
- netsh
- ipconfig
- एआरपी
मैंने अपना छोटा सा सिस्टम बनाया है और सब कुछ बढ़िया काम करता है।
अब मैं इस बारे में चिंतित हूं कि अगर लोग विंडोज के गैर-अंग्रेजी संस्करण पर मेरे सिस्टम का उपयोग करने की कोशिश करते हैं तो क्या होगा। मैं मान रहा हूं कि इन कमांडों का आउटपुट अंग्रेजी में नहीं होगा, इसलिए कुछ ऐसे तार जिन्हें मैं पार्स करता हूं, वे नहीं होंगे।
मैं इससे कैसे निपट सकता हूं? क्या अंग्रेजी आउटपुट को बाध्य करने का कोई तरीका है? यदि नहीं, तो क्या मेरे लिए यह पता लगाने का कोई आसान तरीका है कि फ्रेंच में (या अरबी में ipconig?) नेटस्टैट का आउटपुट कैसा दिखता है। मुझे नहीं पता कि सभी संभावित संस्करणों को कैसे स्थापित करना शुरू किया जाए, क्या कोई आसान तरीका है?
और जानकारी
मेरा सिस्टम एक बैच फ़ाइल नहीं है, बल्कि एक जावा प्रोग्राम है जो विंडोज कमांड को लॉन्च करता है।
यहाँ एक उदाहरण है: मैं जानना चाहूंगा कि मेरे वाईफाई इंटरफेस में किस प्रकार का वायरलेस एन्क्रिप्शन है। इसलिए मैं नेटश चलाती हूं। यहाँ उत्पादन है:
C:\Data>netsh wlan show interfaces
There is 1 interface on the system:
Name : Wi-Fi
Description : Intel(R) Dual Band Wireless-AC 3160
GUID : d2c31baf-270c- ....
Physical address : 34:e6: ....
State : connected
SSID : PlinkY
BSSID : c4:e9 ....
Network type : Infrastructure
Radio type : 802.11n
Authentication : WPA2-Personal
Cipher : CCMP
Connection mode : Profile
Channel : 4
Receive rate (Mbps) : 150
Transmit rate (Mbps) : 150
Signal : 99%
Profile : PlinkY
Hosted network status : Not available
मैं इसके माध्यम से पार्स कर सकता हूं कि "प्रमाणीकरण" नामक रेखा को खोजने की कोशिश करें और बृहदान्त्र के बाद जो कुछ भी है, उसे देखें। मैं अनुमान लगा रहा हूं कि अगर हम विंडोज के अंग्रेजी संस्करण पर नहीं हैं, तो मुझे "प्रमाणीकरण" स्ट्रिंग कभी नहीं मिलेगी क्योंकि यह कुछ और होगा।
हम क्या कर सकते हैं इसपर कोई विचार?