में घोषित गैर मौजूद फ़ाइल के लिए मजबूत प्रकार की जांच मैं एक PowerShell फ़ंक्शन लिख रहा हूं जो फ़ाइल पर कुछ ऑपरेशन करता है, फ़ाइल के पथ को पैरामीटर के रूप में फ़ंक्शन में पास किया जाता है।फ़ंक्शन पैरामीटर
[Parameter(Mandatory=$true)]
[ValidateNotNullOrEmpty()]
[System.Management.Automation.PathInfo]$PathInfo
आम तौर पर मैं बुला कोड में Resolve-Path
का उपयोग एक पाने के लिए होगा: मैं सिर्फ फ़ाइल पथ एक System.String
के रूप में मैं बहुत की तरह पैरामीटर परिभाषित किया है गुजर की तो बजाय मजबूत टाइपिंग और पैरामीटर मान्यता के एक प्रशंसक हूँ System.Management.Automation.PathInfo
टाइप करें कि मैं इस पैरामीटर को पास कर सकता हूं हालांकि इस मामले में फ़ाइल के लिए यह वैध नहीं है और इसलिए Resolve-Path
एक त्रुटि फेंक देगा।
क्या कोई मौजूदा फ़ाइल के लिए System.Management.Automation.PathInfo
का उदाहरण तत्काल करना संभव है? यदि हां, तो कैसे? यदि नहीं, तो क्या आपके पास एक सुझाव है कि मैं किसी फ़ंक्शन के लिए एक मौजूदा फ़ाइल पथ कैसे पारित कर सकता हूं और अभी भी मजबूत प्रकार की जांच हो रही है।
क्या FileInfo' के बारे में '? एक 'FileInfo' उदाहरण एक गैर-मौजूद निर्देशिका/फ़ाइल ('$ pathInfo = नया-ऑब्जेक्ट IO.FileInfo C: \ non-existent.txt') को इंगित कर सकता है –
DOH! बहुत आसान। धन्यवाद महोदय। – jamiet
@jamiet आप यह भी जांच सकते हैं कि फ़ाइल मौजूद है या नहीं, सीधे 'FileInfo' ऑब्जेक्ट पर:' ([System.IO.FileInfo] "सी: \ nonexist.ext")। मौजूद है –