如何执行一个DOS内部命令?(100分)

  • 主题发起人 主题发起人 dengkuo
  • 开始时间 开始时间
D

dengkuo

Unregistered / Unconfirmed
GUEST, unregistred user!
如何执行一个DOS内部命令?比如:TYPE aaa.txt
 
ShellExecute()
 
command /c type aaa.txt
 
这样<br>WinExec('command /c type aaa.txt',SW_NORMAL); //执行完后立即关闭DOS窗口<br>或<br>WinExec('command /k type aaa.txt',SW_NORMAL); //执行完后不关闭DOS窗口
 
winexec(pchar('command.com /c type aaa.txt &gt; c:/temp.txt'),sw_hide)<br><br>不就搞定了
 
这这这!现在的人儿好懒
 
!!!注意!!!win98和win2000下是不同的<br><br>command.com 为win98下, cmd.com为win2000下<br><br>win98下:<br>WinExec('command.com &nbsp;/c &nbsp;TYPE aaa.txt',SW_NORMAL);<br>win2000下<br>WinExec('command.com &nbsp;/c &nbsp;TYPE aaa.txt',SW_NORMAL);<br><br><br>以下为程序自动判断<br>既然WIN98与NT的命令解释器不一样,<br>win98: command.com &nbsp;环境变量Comspec=c:/windows/command.com<br>NT与2000:cmd.exe &nbsp;环境变量 Comspec=c:/nt/system32/cmd.exe<br><br>就可根据环境变量知道了,通用程序:<br>char buf[256]<br>GetEnvironmentVariable("Comspec",buf,sizeof(buf));<br>String ComStr=String(buf)+" /c &nbsp;copy abc.txt 123.dat";<br>WinExec(ComStr.c_str(),SW_NORMAL);<br><br>
 
我明白了,非常感谢诸位老师!!
 
后退
顶部