2015-08-20 5 views
7

एक स्क्रिप्ट मैं आज दिखाया गया था के भीतर लाइन था? इससे पहले कि Google के माध्यम से पता लगाने में असमर्थ हूं और इसके लिए क्या है।

जब मैं इसे पावरहेल विंडो में निष्पादित करता हूं तो यह आम तौर पर सत्य लौटाता है, हालांकि कभी-कभी गलत होता है। मेरा परीक्षण यह सुझाव देना प्रतीत होता है कि यह गलत होता है जब उस कोड से पहले एक त्रुटि में निष्पादित होता है (और स्क्रिप्ट के संदर्भ में मैंने इसे देखा है, यह समझ में आ सकता है) तो यह संभवतः एक ट्रे को संभालने का एक वैकल्पिक तरीका है .. कैच परिदृश्य।

उदाहरण:

PS C:\Users\me> $? 
True 
PS C:\Users\me> $? 
True 
PS C:\Users\me> blah 
blah : The term 'blah' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again. 
At line:1 char:1 
+ blah 
+ ~~~~ 
+ CategoryInfo   : ObjectNotFound: (blah:String) [],   CommandNotFoundException 
+ FullyQualifiedErrorId : CommandNotFoundException 

PS C:\Users\me> $? 
False 
PS C:\Users\me> $? 
True 

किसी को भी मेरे लिए यह सत्यापित कर सकते हैं ऐसा तो नहीं है या अगर यह किसी अन्य उद्देश्य में कार्य करता है?

उत्तर

11
about_automatic_variables से

:

$?
अंतिम ऑपरेशन की निष्पादन स्थिति शामिल है। इसमें सत्य है यदि अंतिम ऑपरेशन सफल हुआ और विफल होने पर गलत।

Get-Help about_automatic_variables 
+0

उस पोस्ट के लिए धन्यवाद Ansgar – Jimbo

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