第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在PowerShell中使用帶有空格和引號的參數(shù)運行EXE文件

如何在PowerShell中使用帶有空格和引號的參數(shù)運行EXE文件

梵蒂岡之花 2019-10-24 15:36:45
如何在PowerShell中運行以下命令?C:\ Program Files \ IIS \ Microsoft Web Deploy \ msdeploy.exe -verb:sync -source:dbfullsql =“數(shù)據(jù)源= mysource;集成安全性= false;用戶ID = sa; Pwd = sapass !;數(shù)據(jù)庫= mydb;” -dest:dbfullsql =“ Data Source =。\ mydestsource; Integrated Security = false; User ID = sa; Pwd = sapass!; Database = mydb;”,計算機名= 10.10.10.10,用戶名= administrator,密碼= adminpass“
查看完整描述

3 回答

?
慕桂英546537

TA貢獻1848條經(jīng)驗 獲得超10個贊

當(dāng)PowerShell看到以字符串開頭的命令時,它只會對字符串求值,也就是說,它通常會將其回顯到屏幕,例如:


PS> "Hello World"

Hello World

如果您希望PowerShell將字符串解釋為命令名稱,請使用調(diào)用運算符(&),如下所示:


PS> & 'C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe'

之后,您可能只需要引用包含空格和/或引用字符的參數(shù)/參數(shù)對。當(dāng)您使用復(fù)雜的命令行參數(shù)調(diào)用像這樣的EXE文件時,擁有一個向您展示PowerShell如何將參數(shù)發(fā)送到EXE文件的工具通常非常有幫助。在PowerShell的社區(qū)擴展有這樣的工具。它稱為echoargs。您只需用echoargs替換EXE文件-保留所有參數(shù),這將向您展示EXE文件如何接收參數(shù),例如:


PS> echoargs -verb:sync -source:dbfullsql="Data Source=mysource;Integrated Security=false;User ID=sa;Pwd=sapass!;Database=mydb;" -dest:dbfullsql="Data Source=.\mydestsource;Integrated Security=false;User ID=sa;Pwd=sapass!;Database=mydb;",computername=10.10.10.10,username=administrator,password=adminpass


Arg 0 is <-verb:sync>

Arg 1 is <-source:dbfullsql=Data>

Arg 2 is <Source=mysource;Integrated>

Arg 3 is <Security=false;User>

Arg 4 is <ID=sa;Pwd=sapass!;Database=mydb;>

Arg 5 is <-dest:dbfullsql=Data>

Arg 6 is <Source=.\mydestsource;Integrated>

Arg 7 is <Security=false;User>

Arg 8 is <ID=sa;Pwd=sapass!;Database=mydb; computername=10.10.10.10 username=administrator password=adminpass>

使用echoargs可以嘗試直到正確為止,例如:


PS> echoargs -verb:sync "-source:dbfullsql=Data Source=mysource;Integrated Security=false;User ID=sa;Pwd=sapass!;Database=mydb;"

Arg 0 is <-verb:sync>

Arg 1 is <-source:dbfullsql=Data Source=mysource;Integrated Security=false;User ID=sa;Pwd=sapass!;Database=mydb;>

事實證明,在維護連接字符串周圍的雙引號之前,我付出了很大的努力。顯然這不是必需的,因為即使cmd.exe也會將其刪除。


順便說一句,向PowerShell團隊致敬。如果您需要將內(nèi)部雙引號保留在適當(dāng)?shù)奈恢?,它們對顯示單引號和雙引號的具體含義很有幫助。:-)他們也意識到這是一個痛苦的領(lǐng)域,但是受特定問題影響的人數(shù)的驅(qū)動。如果這是您的不便,請投票提交PowerShell Bug。


有關(guān)PowerShell如何解析的更多信息,請查看我的有效PowerShell博客系列 -特別是項目10-“了解PowerShell解析模式”


查看完整回答
反對 回復(fù) 2019-10-24
?
楊魅力

TA貢獻1811條經(jīng)驗 獲得超6個贊

只需在.exe名稱前添加&運算符。這是在靜默模式下安裝SQL Server Express的命令:


$fileExe = "T:\SQLEXPRADV_x64_ENU.exe"

$CONFIGURATIONFILE = "T:\ConfSetupSql2008Express.ini"


& $fileExe  /CONFIGURATIONFILE=$CONFIGURATIONFILE


查看完整回答
反對 回復(fù) 2019-10-24
?
素胚勾勒不出你

TA貢獻1827條經(jīng)驗 獲得超9個贊

我在命令和參數(shù)中都有空格,這對我有用:


$Command = "E:\X64\Xendesktop Setup\XenDesktopServerSetup.exe"

$Parms = "/COMPONENTS CONTROLLER,DESKTOPSTUDIO,DESKTOPDIRECTOR,LICENSESERVER,STOREFRONT /PASSIVE /NOREBOOT /CONFIGURE_FIREWALL /NOSQL"


$Prms = $Parms.Split(" ")

& "$Command" $Prms

它與Akira的答案基本相同,但是如果您動態(tài)構(gòu)建命令參數(shù)并將其放在變量中,則此方法有效。


查看完整回答
反對 回復(fù) 2019-10-24
  • 3 回答
  • 0 關(guān)注
  • 1693 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號