1
我有一個我試圖開發的powershell 2腳本。此腳本的目的是環繞一個批處理腳本,並智能地選擇要運行的所述批處理腳本的版本。某處在我的代碼行,我有一些邏輯是這樣的:如何讓powershell腳本在同一個終端執行批處理命令
& $myCommand $args
$ mycommand的是批處理文件我想運行的完全合格的文件名。 $ args是傳遞給這個腳本的參數。這工作除了運行$ myCommand時打開一個命令窗口。我如何防止這種情況,以便輸出在同一個PowerShell外殼內?
奇怪的是,如果我直接執行命令,它會顯示我想要的方式。因此,像:
C:\myCommand.bat $args
考慮到我需要選擇哪個命令我希望在運行時運行,我怎麼讓它所以輸出在同一個殼,當我使用「&」要執行的命令在變量?謝謝!
該訣竅。對於可能嘗試此操作的人有幾點注意事項: 1.)文件路徑必須包含擴展名。將var設置爲C:\ foo並不夠好,但它必須設置爲C:\ foo.bat。 2)這很像將&添加到BASH命令的末尾。爲了讓進程同步調用,你必須提供一個-Wait參數。 3)如果你只是想通過參數,你可以把$ args而不是@(「arg1」,「arg2」),因爲$ args是一個String []。 – 2014-10-28 15:26:52
@JasonThompson一切都是真的,我只是指定了數組,因爲有些人只是使$ args成爲一個字符串 – Paul 2014-10-28 15:34:23