如何编写使用 powershell 而不是 cmd 的控制台应用程序

Posted

技术标签:

【中文标题】如何编写使用 powershell 而不是 cmd 的控制台应用程序【英文标题】:How to write a console application that uses powershell instead of cmd 【发布时间】:2011-04-23 17:48:26 【问题描述】:

我不知道这是否是一个编程问题,或者是通过我的操作系统配置的问题。但是我将如何获得它以便我的控制台应用程序使用 Powershell 而不是 cmd?我知道我可以打开 Powershell 并从那里运行程序,但即便如此,诸如 system("Get-Childitem") 之类的调用也会失败。

顺便说一句,如果这很重要,我正在使用 Visual C++。但如果它是编译器特定的东西,那么我也想知道如何用 GCC 来做。

【问题讨论】:

【参考方案1】:

查看环境变量 COMSPEC,它在 Windows 和之前的 DOS 1.1 上控制使用哪个 shell 来启动需要 shell 的程序。

SET COMSPEC=%path_to_powershell%

您可以通过调用setenv C 运行时调用在您的 C++ 程序中执行相同的操作;

【讨论】:

以上是关于如何编写使用 powershell 而不是 cmd 的控制台应用程序的主要内容,如果未能解决你的问题,请参考以下文章

win10中 Shift+右键对命令行-cmd 的唤起,而不是powershell

使用 cmd.exe 或 PowerShell 或 Python 从 Windows 命名管道中读取

如何从其他powershell脚本调用powershell脚本并且脚本是在powershell对象而不是文件中分配的

我正在使用来自 python 的 powershell 命令获取一些数据,而 Windows 中没有 cmd!如何将此输出分配给字符串变量?

CMD和win powershell有啥区别

Jenkins入门之执行Powershell脚本