我需要運行下面的批處理檔案:
我需要運行下面的批處理檔案。
cd.
msbuild reve_host.vcxproj
為了使msbuild作業,它需要通過一個特定的shell運行。它的路徑存盤在我的Powershell腳本的$executorPath中,它看起來像這樣:
$executorPath = 'C:ProgramDataMicrosoftWindowsStart MenuProgramsVisual Studio 2019Visual Studio ToolsVCx64 Native Tools Command Prompt for VS 2019' /span>
Write-Host "STAGE: CLEAN。"
以下是我嘗試過的幾種執行方式,都沒有成功:
<醇>Invoke-Command '$executorPath "BUILD.bat"'/code>Invoke-Command '$executorPath ".BUILD.bat"'Invoke-Command -ScriptBlock {& $executorPath 'BUILD.bat'}。Invoke-Command -ScriptBlock {& $executorPath '.BUILD.bat'} $($executorPath 'BUILD.bat')$($executorPath '.BUILD.bat')使用1和2,我得到:
引數集無法使用指定的命名引數進行決議。一個或多個發布的引數不能一起使用,或者提供的引數數量不足。
使用3和4,我得到:
術語'C:ProgramDataMicrosoftWindowsStart MenuProgramsVisual Studio 2019Visual Studio ToolsVCx64 Native Tools Command Prompt for VS 2019'未被識別為 cmdlet、函式、腳本檔案或可執行程式的名稱。請檢查名稱的拼寫,如果包含路徑,請驗證路徑是否正確并重試。 這些都不起作用。我怎樣才能運行這個?
uj5u.com熱心網友回復:
我找到了一個替代解決方案。使用這個模塊可以直接從Powershell呼叫MsBuild,省去了手動呼叫正確shell的麻煩。但這規避了問題,而不是解決了問題。
uj5u.com熱心網友回復:
或者簡單地說:
#Test cmd file:
@Echo off
for %i in (1,2, 3, 4, 5,6,7,8,9, >10) DO Echo. 你好
exit/B 200
PS> & G:BEKDocsBatch1.cmd
你好
你好
你好
你好啊
你好啊
你好
你好
你好
你好
你好
#要使用你的示例代碼:
PS> $ExecutionPath = "G:BEKDocsBatch1.cmd"
PS> & $ExecutionPath
你好
你好
你好
你好啊
你好啊
你好
你好
你好
你好
你好
PS>
編輯:如果擴展名是.bat,它也能作業!
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/309291.html
標籤:
