2011-05-17 6 views
30

मैंने एक पीएस स्क्रिप्ट लिखी है और डायग्नोस्टिक उद्देश्य के लिए लिखित-होस्ट का उपयोग करके स्क्रीन पर संदेशों को प्रतिबिंबित कर रहा हूं। यह रूप में लंबे समय मैं जैसेलिखें-होस्ट या डबल कोट्स में सदस्य-चर का विस्तार कैसे करें?

Write-Host "Hello World, $name"

समस्या सामान्य चर का विस्तार करने के लिए है के रूप में ठीक है शुरू होता है जब मैं नीचे के रूप में

Write-Host "Hello World, $Person.Name" 

इस रूप का विस्तार नहीं करता है कुछ सदस्य चर गूंज करने की कोशिश अपेक्षित होना। आसपास काम है कि अनुसरण कर रही हूं, है

$personName = $Person.Name 
Write-Host "Hello World, $personName" 

नीचे के रूप में अस्थायी चर उपयोग करने के लिए वहाँ बाहर अस्थायी चर के उपयोग के साथ ऐसा करने का एक सुंदर तरीका है?

उत्तर

42

आप डबल-कोटेड तार के भीतर संपत्ति का उपयोग का उपयोग करना चाहते हैं, तो आप एक उपसूचक की जरूरत है:

"Foo $($bar.Property)" 
0

इस प्रयास करें:

$dir = ls 
Write-Host "Dir elements:" $dir.Length 
+0

यह काम करता है लेकिन बोली – JeeZ

+1

का इन के साथ विस्तार हो रहा हूँ इस दृष्टिकोण के साथ समस्या यह है कि यदि आप लेखन-आउटपुट में बदल जाते हैं और फ़ाइल पर रीडायरेक्ट करते हैं, तो टेक्स्ट दो आउटपुट लाइनों में विभाजित हो जाएगा। स्वीकृत उत्तर इस समस्या से बचाता है। –

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