2013-02-02 54 views
1

我有一個使用7z提取文件的命令,它可以在DOS命令行中使用。該命令是:powershell invoke-expression問題

"C:\Documents and Settings\e.DEV\My Documents\7z.exe" x -o"C:\Documents and Settings\e.DEV\My Documents\utils" "C:\Documents and Settings\e.DEV\My Documents\rsasecureidtoken411.zip" 

現在,我必須在PowerShell中運行命令上,我用一個call operator &稱呼它(在PowerShell命令行),但似乎它存在一些錯誤。它只顯示>>當我按下Enter時,我必須按Ctrl + c停止命令。

PS C:\> & "C:\Documents and Settings\e.DEV\My Documents\7z.exe" x -o"C:\Documents and Settings\e.DEV\My Documents\utils" "C:\Documents and Settings\e.DEV\My Documents\RSASecurIDToken411.zip" 
>> 
>> 
>> 
>> 
>> 
>> 
PS C:\> 

我也試過invoke-expression,但仍然無法使它工作。任何人都可以幫忙嗎?

謝謝。

回答

4

試試這個:

[string]$pathToZipExe = "C:\Documents and Settings\e.DEV\My Documents\7z.exe" 
[Array]$arguments = "x", "-oC:\Documents and Settings\e.DEV\My Documents\utils", "C:\Documents and Settings\e.DEV\My Documents\RSASecurIDToken411.zip" 

& $pathToZipExe $arguments 
+0

感謝C.B!我剛剛發現了另一個問題http://stackoverflow.com/questions/8128276/invoke-expression-dropping-double-quote這與我的問題有關。謝謝你的幫助! –

+0

@于帥很高興幫助!以這種方式對命令和參數進行分割可以更容易地在腳本中最終實現循環。 –