㈠ 如何在C語言中調用cmd命令
在C語言中調用shell命令的方法實現。
C程序調用shell腳本共有兩種方法 :system()、popen(),分別如下:
system()
不用自己去創建進程,系統已經封裝了這一步,直接加入自己的命令即可
popen() 也可以實現執行的命令,比system
開銷小
以下分別說明:
1)system(shell命令或shell腳本路徑);
system()
會調用fork()產生 子歷程,由子歷程來調用/bin/sh-c string來履行 參數string字元串所代表的命令,此命令履行
完後隨即返回原調用的歷程。在調用system()期間SIGCHLD 信號會被暫時擱置,SIGINT和SIGQUIT 信號則會被漠視 。
返
回值:如果system()在調用/bin/sh時失敗則返回127,其他失敗原因返回-1。若參數string為空指針(NULL),則返回非零值。 如果
system()調用成功 則最後會返回履行 shell命令後的返回值,但是此返回值也有可能為system()調用/bin/sh失敗所返回的127,因
此最好能再反省 errno 來確認履行 成功 。
system命令以其簡略
高效的作用得到很很廣泛 的利用 ,下面是一個例子
例:在/tmp/testDir/目錄下有shell腳本tsh.sh,內容為
#!/bin/sh
wget $1
echo "Done!"
2)popen(char
*command,char *type)
popen()
會調用fork()產生 子歷程,然後從子歷程中調用/bin/sh -c來履行 參數command的指令。參數type可應用
「r」代表讀取,「w」代表寫入。遵循此type值,popen()會建立 管道連到子歷程的標准 輸出設備 或標准 輸入設備
,然後返回一個文件指針。隨後歷程便可利用 此文件指針來讀取子歷程的輸出設備 或是寫入到子歷程的標准 輸入設備 中。此外,所有應用 文
件指針(FILE*)操作的函數也都可以應用 ,除了fclose()以外。
返回值:若成功
則返迴文件指針,否則返回NULL,差錯 原因存於errno中。注意:在編寫具SUID/SGID許可權的程序時請盡量避免應用
popen(),popen()會繼承環境變數,通過環境變數可能會造成系統安全的問題。
例:C程序popentest.c內容如下:
#include<stdio.h>
main
{
FILE * fp;
charbuffer[80];
fp=popen(「~/myprogram/test.sh」,」r」);
fgets(buffer,sizeof(buffer),fp);
printf(「%s」,buffer);
pclose(fp);
}
㈡ C#.NET 怎麼對WINDOWS的CMD命令操作
using System.Diagnostics;
private string RunCmd(string command)
{
//實例一個Process類,啟動一個獨立進程
Process p = new Process();
//Process類有一個StartInfo屬性,這個是ProcessStartInfo類,包括了一些屬性和方法,下面我們用到了他的幾個屬性:
p.StartInfo.FileName = "cmd.exe"; //設定程序名
p.StartInfo.Arguments = "/c " + command; //設定程式執行參數
p.StartInfo.UseShellExecute = false; //關閉Shell的使用
p.StartInfo.RedirectStandardInput = true; //重定向標准輸入
p.StartInfo.RedirectStandardOutput = true; //重定向標准輸出
p.StartInfo.RedirectStandardError = true; //重定向錯誤輸出
p.StartInfo.CreateNoWindow = true; //設置不顯示窗口
p.Start(); //啟動
//p.StandardInput.WriteLine(command); //也可以用這種方式輸入要執行的命令
//p.StandardInput.WriteLine("exit"); //不過要記得加上Exit要不然下一行程式執行的時候會當機
return p.StandardOutput.ReadToEnd(); //從輸出流取得命令執行結果
}
----------------------------------------------------------
看到我這個函數沒?返回值是string類型的.
可以直接Lable1.Text=RunCmd("dir");
函數參數是命令
㈢ c語言如何調用命令行並且是以管理員身份運行的命令行
如果你的命令要求以管理員身份運行,那麼你自己的C語言程序也得是以管理員身份運行的,這可以通過在程序上點擊 右鍵 -》以管理員許可權運行 ,或者通過添加一個 manifest 文件的形式來提升許可權。參見 jingyan..com/article/f0e83a25c2e78a22e5910137.html 中的步驟1,以外置文件的形式來提升許可權。
㈣ C語言關機代碼
可以通過C語言調用系統命令實現關機。
1、C語言可以通過system函數實現調用系統命令(shell 命令)。
system函數聲明於stdlib.h, 形式為
int system(const char *cmd);
功能為執行cmd中的shell指令。
2、在windows中,關機命令為shutdown. 具體說明如圖:
#include<stdlib.h>
intmain()
{
system("shutdown/s");//調用關機命令。
while(1);
}
5、注意事項:
該命令僅用於windows,如果要移植到其它操作系統,則需要適配目標系統的關機命令,如Linux的halt或shutdown -h。
㈤ Windows涓鍛戒護鏂囦歡鐨勫嚑縐嶆墽琛屾柟娉
銆銆錛わ集錛蟲搷浣滅郴緇熷懡浠ゆ枃浠剁殑鎵ц岄氬父鏄鍦ㄧ郴緇熸彁紺虹﹀悗閿鍏ユ枃浠跺悕錛堟枃浠跺簲鍦錛幫肌錛達績鎸囧畾鐨勮礬寰勪腑錛夈備綔涓哄氫換鍔℃搷浣滃鉤鍙幫擠鍀夛綆鍀勶綇鍀楋綋涓鍛戒護鏂囦歡鐨勬墽琛屽彲鏈夊氱嶆柟娉曪紝涓嬮潰綆榪板父鐢ㄧ殑鍑犵嶃 #2銆銆錛戱紟鍦錛わ集錛沖懡浠よ屾墽琛 銆銆榪涘叆錛鳳綁鍀庯絼鍀忥綏鍀撴椂閿鍏ワ細錛鳳緝錛錛嬪懡浠ゆ枃浠跺悕錛屽傦細鍀冿細錛礆綏鍀夛綆銆鍀愶絺鍀掞綍鍀擄綀鍙鐩存帴鎵ц岀敾絎旂▼搴忋傚傛灉鍀楋綁鍀庡悗闈㈠甫鏈夊弬鏁幫紝鍛戒護鏂囦歡鍚嶅簲鍦ㄥ弬鏁頒箣鍚庯紝濡傦絻錛氾技鍀楋綁鍀庯紡錛撱鍀愶絺鍀掞綍鍀擄綀銆 #2銆銆錛掞紟鍒╃敤錛詫嫉錛鍛戒護 銆銆涓嬫媺錛幫綊鍀忥絿鍀掞絹鍀嶃錛鍀侊綆鍀侊絿鍀咃綊錛堢▼搴忕$悊鍣錛夋垨錛︼綁鍀岋絽銆錛鍀侊綆鍀侊絿鍀咃綊錛堟枃浠剁$悊鍣錛夌殑錛︼綁鍀岋絽鑿滃崟錛岄夊彇鍀掞綍鍀庡懡浠わ紝鍦ㄥ硅瘽妗嗕腑閿鍏ュ懡浠ゆ枃浠跺悕錛堝傛枃浠朵笉鍦ㄧ郴緇熼粯璁ょ殑璺寰勪腑錛屽簲鎸囨槑瀹屾暣鐨勮礬寰勶級錛屽啀鎻垮嚮錛錛鎸夐挳銆 #2銆銆錛擄紟鐩存帴鎻垮嚮鏂囦歡鍚 銆銆鍦錛︼綁鍀岋絽銆錛鍀侊綆鍀侊絿鍀咃綊鐩褰曠獥鍙d腑鐨勬枃浠跺悕涓婂弻鍑婚紶鏍囨寜閽錛屽懡浠ゆ枃浠剁洿鎺ユ墽琛屻 #2銆銆錛旓紟寤虹珛紼嬪簭欏 銆銆鍦錛幫綊鍀忥絿鍀掞絹鍀嶃錛鍀侊綆鍀侊絿�鍀咃綊涓涓哄懡浠ゆ枃浠跺緩絝嬬▼搴忛」錛岃佹墽琛屽畠鐩存帴鍦ㄥ叾鍥炬爣涓婂弻鍑誨嵆鍙銆傚傚皢紼嬪簭欏瑰緩絝嬪湪錛籌綌鍀侊綊鍀愶嫉鍀愮粍涓錛屽惎鍔錛鳳綁鍀庯絼鍀忥綏鍀撴椂鍛戒護鏂囦歡鑷鍔ㄦ墽琛屻 銆銆鎵撳紑錛鳳綁鍀庯紟鍀夛綆鍀夋枃浠訛紝鍦鍀掞綍鍀庯紳鎴栵綄鍀忥絹鍀勶紳琛屼腑鍔犲叆鍛戒護鏂囦歡鍚嶏紝濡傛灉鏈夊氫釜鏂囦歡鍒欎互絀烘牸鍒嗗紑錛屽惎鍔錛鳳綁鍀庯絼鍀忥綏鍀撴椂鍛戒護鏂囦歡鑷鍔ㄦ墽琛屻傦疾鍀曪綆錛濅腑鐨勬枃浠舵墽琛屽悗浼氬彉鎴愭墦寮鐨勭獥鍙o紝鑰岋綄鍀忥絹鍀勶紳琛屽唴鐨勭▼搴忓湪鎵ц屽悗鑷鍔ㄦ渶灝忓寲涓哄浘鏍囥傘銆銆銆銆銆銆銆銆銆銆銆
㈥ c璇璦涓鎬庝箞璋冪敤緋葷粺涓鐨勫彲鎵ц屾枃浠
鍙傝冧竴涓嬪惂
#include <stdlib.h>
int system ( const char * command );
system() 鍑芥暟鐢ㄤ簬鎵ц屾搷浣滅郴緇熺郴緇熷懡浠(e.g. after cmd in windows)浠ュ強褰撳墠瀹夎呯殑鍙鎵ц岀▼搴
for example:
system ("dir");
system ("pc para1 para2");
涓嶅悓鐨勬搷浣滅郴緇熸湁涓嶅悓鐨勫懡浠ら泦
鑰屽綋鍓嶇殑鍙鎵ц岀▼搴忛泦鍜屼綘鐨勫叿浣撳畨瑁呮湁鍏
鐢ㄥ湪c++涓錛屽寘鍚澶存枃浠<stdlib.h>
鐒跺悗鐩存帴system ("..."); or system (str.c_str());
/* system example : DIR */
#include <stdio.h>
#include <stdlib.h>
int main ()
{
int i;
printf ("Checking if processor is available...");
if (system(NULL)) puts ("Ok");
else exit (1);
printf ("Executing command DIR...\n");
i=system ("dir");
printf ("The value returned was: %d.\n",i);
return 0;
}
㈦ 在windows命令行中如何運行c程序的文本
1、打開命令行界面:鍵盤win + r ,輸入cmd,回車。即可打開命令行。