PowerShell में एकाधिक पंक्तियों पर लंबे आदेशों को कैसे विभाजित करें


Answers

क्लीनर तर्क गुजरने के लिए एक और तरीका splatting होगा।

अपने पैरामीटर और मानों को इस तरह हैशटेबल के रूप में परिभाषित करें:

$params = @{ 'class' = 'Win32_BIOS';
             'computername'='SERVER-R2';
             'filter'='drivetype=3';
             'credential'='Administrator' }

और फिर इस तरह अपने कमांडलेट को कॉल करें:

Get-WmiObject @params

splatting

ऐसा लगता है कि यह पावरहेल 2.0 और ऊपर के साथ काम करता है।

Question

आप PowerShell में इस तरह एक कमांड कैसे लेते हैं और इसे कई लाइनों में विभाजित करते हैं:

&"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web" -dest:contentPath="c:\websites\xxx\wwwroot\,computerName=192.168.1.1,username=administrator,password=xxx"



पावरशेल 5 और पावरशेल 5 आईएसई में, मल्टीलाइन संपादन के लिए केवल SHIFT+ENTER का उपयोग करना भी संभव है (प्रत्येक पंक्ति के अंत में मानक बैकटिक्स के बजाय):

PS> &"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"
>>> -verb:sync
>>> -source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web"
>>> -dest:contentPath="c:\websites\xxx\wwwroot,computerName=192.168.1.1,username=administrator,password=xxx"



आप बैकटिक ऑपरेटर का उपयोग कर सकते हैं:

& "C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" `
    -verb:sync `
    -source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web" `
    -dest:contentPath="c:\websites\xxx\wwwroot\,computerName=192.168.1.1,username=administrator,password=xxx"

यह अभी भी मेरे स्वाद के लिए थोड़ा लंबा है, इसलिए मैं कुछ अच्छी तरह से नामित चर का उपयोग करता हूं:

$msdeployPath = "C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe"
$verbArg = '-verb:sync'
$sourceArg = '-source:contentPath="c:\workspace\xxx\master\Build\_PublishedWebsites\xxx.Web"'
$destArg = '-dest:contentPath="c:\websites\xxx\wwwroot\,computerName=192.168.1.1,username=administrator,password=xxx"'

& $msdeployPath $verbArg $sourceArg $destArg



Related



Tags

powershell