2017-07-25 395 views
1

和CMD一樣,要運行一個C++程序,我使用命令g++ filename.cpp,然後使用命令a.exe運行它,該命令在CMD本身中打開輸出。如何使用PowerShell做這樣的事情?我無法通過簡單的命令打開文件,如a.exe。我做錯了嗎?如何在Powershell中運行C++程序,就像CMD一樣?

+1

說實話我一直在勉強。我在PowerShell中運行cmd,然後以cmd的方式執行舊的cmd。 – user4581301

+4

嘗試像這樣'。/ a' – BLUEPIXY

+1

從CMD運行a.exe不會輸出到「CMD本身」。 cmd.exe,powershell.exe和a.exe是將在啓動時繼承或創建控制檯的控制檯應用程序,該控制檯由控制檯子系統主機進程conhost.exe的實例單獨託管。如果從cmd.exe運行a.exe,它會繼承cmd.exe的控制檯作爲它的「StandardInput」,「StandardOutput」和「StandardError」文件句柄 - 而「CMD本身」的單個線程只會阻塞.exe退出。 – eryksun

回答

1

這是使用調用操作符並引用命令的最佳實踐。

& ".\a.exe" p1 p2 p3 

PowerShell還允許使用/作爲路徑分隔符。

& "./a.exe" p1 p2 p3 "p4 with space" 
+0

由於不包含任何空格,因此'。\ a.exe'周圍的引號不是必需的。 –

相關問題