सवाल मैं PowerShell में एक पंक्ति पर एकाधिक कमांड कैसे चला सकता हूं?


एक cmd प्रॉम्प्ट में, आप दो पंक्तियों को एक पंक्ति पर चला सकते हैं जैसे:

ipconfig /release & ipconfig /renew

जब मैं PowerShell में यह आदेश चलाता हूं, तो मुझे मिलता है:

Ampersand not allowed. The `&` operator is reserved for future use

क्या पावरशेल में एक ऑपरेटर होता है जो मुझे तुरंत बराबर उत्पादन करने की अनुमति देता है & एक cmd प्रॉम्प्ट में?

एक पंक्ति में दो कमांड चलाने की कोई भी विधि करेगा। मुझे पता है कि मैं एक स्क्रिप्ट बना सकता हूं, लेकिन मैं कफ से थोड़ा और कुछ ढूंढ रहा हूं।


206
2018-06-26 17:24


मूल


मजेदार नोट: सीरियल बंदरगाहों और सीरियलाइजेशन के बीच, यह प्रश्न खोजना लगभग असंभव है। - David
बेवकूफ होने के लिए ... इसे खोजना बहुत आसान है। हिट का एक प्रासंगिक सेट प्राप्त करना बहुत मुश्किल है। :) (महान प्रश्न के लिए +1) - Konrad Viltersten


जवाब:


PowerShell में श्रृंखला आदेशों के लिए अर्धविराम का उपयोग करें:

ipconfig /release; ipconfig /renew

295
2018-06-26 17:28



क्या वे समानांतर या अनुक्रमिक रूप से दौड़ेंगे? - Tarkus
यह क्रमशः उन्हें चलाएगा, जैसा कि cmd.exe में & ऑपरेटर करता है। - Squeezy
हालांकि इसमें बड़ा अंतर है - ";" दूसरा विफल रहता है भले ही पहली विफल हो। - Ivan
जैसा ऊपर बताया गया है, यह cmd.exe में और व्यवहार का भी व्यवहार है। - Squeezy
क्या दूसरा आदेश केवल तभी होता है जब पहला विफल हो जाए? - Rafi


एक अर्धविराम आदेशों को पिछले उत्तर के रूप में लिंक करेगा, हालांकि व्यवहार के साथ एक महत्वपूर्ण अंतर है & एमएस-डॉस शैली कमांड दुभाषिया में ऑपरेटर।

कमांड दुभाषिया में, जब लाइन पढ़ी जाती है तो परिवर्तनीय प्रतिस्थापन होता है। यह कुछ साफ संभावनाओं की अनुमति देता है जैसे एक अंतरिम के बिना चर बदलना:

set a=1
set b=2
set a=%b% & set b=%a%
echo %a%
echo %b%

परिणामस्वरूप:

2
1

जहां तक ​​मुझे पता है, PowerShell में इस व्यवहार को दोहराने का कोई तरीका नहीं है। कुछ तर्क दे सकते हैं कि यह एक अच्छी बात है।

वास्तव में PowerShell में ऐसा करने का एक तरीका है:

$b, $a = $a, $b

इसके परिणामस्वरूप परिवर्तनीय मानों की एक पंक्ति स्वैपिंग होगी।


28
2017-09-10 17:16



हालांकि शॉर्टकट में कमांड विकल्प के साथ "लक्ष्य" फ़ील्ड से काम नहीं लग रहा है - clearlight