如何用C语言执行powershell命令

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用C语言执行powershell命令相关的知识,希望对你有一定的参考价值。

参考技术A 我有一条获取server安装的各种组件的powershell命令,可以在server上正常命令行执行
powershell -command "& get-windowsfeature | Out-File -FilePath C:\Command.txt"

但我用C语言写出来的exe去跑的时候总是不能正常执行,因为server环境里面没有debug环境,所以也不知道具体错在什么地方了,具体source如下:

C/C++ code?

TCHAR szCommandLine[1024] = 0;
sprintf(szCommandLine,
"powershell -command \"& get-windowsfeature | Out-File -FilePath C:\\Command.txt\"");

bSuccess = CreateProcess( NULL, // No module name (use command line).
szCommandLine, // Command line.
NULL, // Process handle not inheritable.
NULL, // Thread handle not inheritable.
FALSE, // Set handle inheritance to FALSE.
0, // No creation flags.
NULL, // Use parent's environment block.
NULL, // Use parent's starting directory.
&si, // Pointer to STARTUPINFO structure.
&pi ); // Pointer to PROCESS_INFORMATION structure.本回答被提问者和网友采纳
参考技术B 用C语言执行powershell命令的方法:

Windows PowerShell 是一种命令行外壳程序和脚本环境,使命令行用户和脚本编写者可以利用 .NET Framework 的强大功能。
它引入了许多非常有用的新概念,从而进一步扩展了您在 Windows 命令提示符和 Windows Script Host 环境中获得的知识和创建的脚本。

如何用GCC在linux下编译C语言程序?

参考技术A

在Linux下面,如果要编译一个C语言源程序,我们要使用GNU的gcc编译器,假设我们有下面一个非常简单的源程序(hello.c):


int main(int argc,char **argv)



printf("Hello Linux\\n");



要编译这个程序,我们只要在命令行下执行:


gcc -o hello hello.c


gcc 编译器就会为我们生成一个hello的可执行文件.执行./hello就可以看到程
序的输出结果了

Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。

以上是关于如何用C语言执行powershell命令的主要内容,如果未能解决你的问题,请参考以下文章

linux下如何用c语言调用shell命令

linux下如何用c语言调用shell命令

如何用SHELL命令运行一个文件

C语言能否用在shell脚本

linux下如何用C代码执行一个cmd命令,然后可以控制该命令的结束

如何用参数执行shell命令?