2015-12-16 10 views
5

मैं बैच फ़ाइल बनाना चाहता हूं जो निम्न ऑपरेशन करेगा: जांचता है कि चल रहा ओएस विंडोज है या नहीं। अगर यह Hello. Im win 10 प्रिंट करना चाहिए तो अन्य संदेश प्रिंट करना चाहिए। अगर स्थिति हो तो मैं यह कैसे कर सकता हूं?बैच फ़ाइल: जांचें कि ओएस विंडोज 10

स्यूडोकोड:

if OS == Win10 then 
    echo Hello im win 10 
else 
    echo I am another os 

उत्तर

11
setlocal 
for /f "tokens=4-5 delims=. " %%i in ('ver') do set VERSION=%%i.%%j 
if "%version%" == "6.3" echo Windows 8.1 
if "%version%" == "6.2" echo Windows 8. 
if "%version%" == "6.1" echo Windows 7. 
if "%version%" == "6.0" echo Windows Vista. 
if "%version%" == "10.0" echo Windows 10. 
echo %version% 
rem etc etc 
endlocal 
+0

धन्यवाद। यह वही है जो मुझे –

+0

की आवश्यकता है यह विधि विंडोज एक्सपी के लिए काम नहीं करती है क्योंकि 'ver' आउटपुट 'माइक्रोसॉफ्ट विंडोज एक्सपी [संस्करण 5.1.2600]' और इसलिए' [संस्करण 5 'को चर' VERSION' को असाइन किया गया है। हालांकि, यह सिर्फ यह जांचने के लिए काम करता है कि ऑपरेटिंग सिस्टम विंडोज 10 है [मार्टिन रेज़ेन] (http://stackoverflow.com/users/2357522/martin-rezyne) द्वारा पूछे जाने पर। – Mofi

+1

@Mofi - परवाह किए बिना,% VERSION% का मान '10.0' नहीं होगा और इसलिए यह जांचने के लिए उपयोग किया जा सकता है कि आप विंडोज 10 चला रहे हैं या नहीं। यह वास्तविक संस्करण प्राप्त करने में मदद नहीं करेगा, लेकिन यह नहीं है सवाल क्या पूछ रहा है। – SomethingDark

4

आप इसे थोड़ा और अधिक विस्तृत चाहते हैं:

for /f "tokens=2 delims=," %%i in ('wmic os get caption^,version /format:csv') do set os=%%i 
echo Hello, I am %os% 

या बस अपने आवश्यकताओं को पूरा करने के लिए:

for /f "tokens=2 delims=," %%i in ('wmic os get caption^,version /format:csv') do set os=%%i 
echo %os%|find " 10 ">nul &&echo Hello I'm Windows 10||echo I am another os 

(,version सुनिश्चित , आपकी वांछित str आईएनजी अंतिम टोकन नहीं है, जिसमें उस बदसूरत Wmic लाइन समाप्त होता है)

+0

यह विधि Windows XP Professional के लिए भी काम करती है जो अब माइक्रोसॉफ्ट द्वारा समर्थित नहीं है। लेकिन कमांड 'ver' के आउटपुट का उपयोग करने की तुलना में यह धीमा है क्योंकि 'wmic' को हमेशा समाप्त होने के लिए 1 सेकंड से अधिक की आवश्यकता होती है। – Mofi

संबंधित मुद्दे