किसी कारण से, ऐसा लगता है कि मैं स्ट्रिंगब्लॉक पर पैरामीटर के रूप में तारों की सरणी पास नहीं कर सकता। मैं यहाँ क्या गलत कर रहा हूँ?किसी स्क्रिप्ट को पैरामीटर के रूप में सरणी कैसे पास करें?
मेरे स्क्रिप्ट जो एक और स्क्रिप्ट से कहा जाता है:
param(
[parameter(Mandatory=$true)]
[string[]]$myarr
)
foreach ($elem in $myarr){
$elem
}
मैं के रूप में
[email protected]("111","222")
start-job -filepath myscript.ps1 -arg $myarr
एक और स्क्रिप्ट से इसे कहते सरणी में केवल पहला आइटम मिला - "111"
हाँ, यह काम करता है। क्या आप व्यख्या कर सकते हैं? :) जैसा कि मैं समझता हूं कि इसमें अल्पविराम() का अर्थ है कि यह वास्तव में दो उप सरणी के साथ एक सरणी है, है ना? – mishkin
@ मिशकिन - स्पष्टीकरण यह होगा कि - आर्ग्यूमेंटलिस्ट एक सूची/तर्कों की सरणी में लेता है। तो जब आप '-र्ग $ myarr' देते हैं, तो ऐसा लगता है कि आप सरणी के तत्वों को तर्क के रूप में पास कर रहे हैं। तो आपको इसे एक तर्क के रूप में इलाज करने के लिए शक्तियों को मजबूर करना होगा जो एक सरणी है। – manojlds
आप सरणी और अन्य चर कैसे पारित करेंगे? -र्ग (, $ myarr, $ एकल वैल्यू)। उदाहरण के लिए, $ singleValue = "x" – eHaze