मेरे पास एक बैच फ़ाइल है जो एक पॉवरशेल स्क्रिप्ट चलाती है और मुझे स्क्रिप्ट में दो पैरामीटर पास करने की आवश्यकता है। मेरे बैच में ऐसा दिखता है:
powershell -executionpolicy remotesigned -File "my script.ps1" "my path1\" "my path2\somefile.txt"
अब यह जिस तरह से है, मेरी पॉवरशेल स्क्रिप्ट के पैरामीटर पूरी तरह से गड़बड़ा गए हैं और मुझे मिलता है:
- मेरी राह 1 मेरी
- Path2 \ somefile.txt
मैं के साथ मेरी पैरामीटर encapsulating की कोशिश की '
और `
वर्ण और मैं लगभग मिला है कि मैं क्या चाहता हूँ, लेकिन दूसरे उद्धरण कैरेक्टर powershell स्क्रिप्ट में बनी हुई है। मुझे यह मिलता है:
powershell -executionpolicy remotesigned -File "my script.ps1" "'my path1\'" "'my path2\somefile.txt'"
- 'my path1 \'
- 'my path2 \ somefile.txt'
और जो मैं चाहता हूं वह यह है
- मेरा पथ 1
- मेरे पथ 2 \ somefile.txt
मुझे पता है कि मैं शब्दाडंबर वाली स्क्रिप्ट में अनावश्यक उद्धरणों को छीन सकता हूं, लेकिन क्या ऐसा करने का एक बेहतर तरीका है? दूसरे शब्दों में, मैं उन मापदंडों को एक तरह से पावरशेल में कैसे पारित कर सकता हूं , जो उन्हें समझदार बनाए रखता है?
टेस्ट पॉवरशेल स्क्रिप्ट:
echo $args[0]
echo $args[1]