अगर मैं दो स्ट्रिंग्स को एक फ़ाइल पथ में संयोजित करना चाहता हूं, तो मैं Join-Path
इस तरह का उपयोग करता हूं :
$path = Join-Path C: "Program Files"
Write-Host $path
वह प्रिंट करता है "C:\Program Files"
। अगर मैं दो से अधिक तारों के लिए ऐसा करना चाहता हूं, हालांकि:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShell एक त्रुटि फेंकता है:
ज्वाइन-पाथ: एक स्थितिगत पैरामीटर नहीं पाया जा सकता है जो 'Microsoft Office' के तर्क को स्वीकार करता है।
D: \ users \ ma \ my_script.ps1: 1 char: 18
+ $ path = join-path <<<< C: "प्रोग्राम फाइल्स" "Microsoft Office"
+ श्रेणीइन्फो: अमान्य अमान्य: (:) [Join-Path] , ParameterBindingException
+ FullQualifiedErrorId: PositionalParameterNotFound, Microsoft.PowerShell
.Commands.JoinPathCommand
मैंने एक स्ट्रिंग सरणी का उपयोग करने की कोशिश की:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
लेकिन PowerShell ने मुझे चाइल्डपैथ में प्रवेश करने का संकेत दिया (क्योंकि मैंने -childpath
तर्क निर्दिष्ट नहीं किया ), जैसे "somepath", और फिर तीन फ़ाइल पथ बनाता है,
C:\somepath
Program Files\somepath
Microsoft Office\somepath
जो सही भी नहीं है।