2014-07-17 99 views
0

我需要通過psexec在遠程電腦上啓動.bat文件。遠程計算機也USRPWD集:psexec:帶雙引號的參數行

usr= username 
pwd= password"123 

cmd它工作得很好,只是把\"
psexec \\remote-pc -d -u username -p password\"123)前

但是,問題是,我在我的build.xml中定義了此參數行,我無法使用ANT啓動它。
我試圖通過更改""和其他我發現,但沒有辦法的東西。

有什麼想法嗎?也許這很容易改變我的機器的pwd :-)

謝謝!

回答

2

根據經驗法則,使用1-n嵌套參數值元素代替參數行
請參閱ant manual commandline arguments
拆分您的ARG線分成若干ARG價值...應該工作,請參閱:

<exec executable="c:\pstools\psexec.exe"> 
<arg value="\\hostname"/> 
<arg value="/accepteula"/> 
<arg value="cmd"/> 
<arg value="/c"/> 
<arg value="echo"/> 
<arg value="password&quot;123"/> 
</exec> 

輸出:

[exec] PsExec v1.98 - Execute processes remotely 
[exec] Copyright (C) 2001-2010 Mark Russinovich 
[exec] Sysinternals - www.sysinternals.com 
[exec] cmd exited with error code 0. 

而:

<exec executable="c:\pstools\psexec.exe"> 
<arg line="\\hostname /accepteula cmd /c echo password&quot;123"/> 
</exec> 

輸出:

BUILD FAILED 
.. unbalanced quotes in \\hostname /accepteula cmd /c echo password"123