c++如何处理多条dos命令

liqianfu0214 2009-04-08 09:36:03
比如在cmd中先输"cd c:\\Program Files\\WinRAR"进入根目录 然后再输入“rar a -r -ep1 E:\RarFile\Debug E:\RarFile\home”,想问下在VC程序里能不能用system函数运行这两条指令,要是不行在VC里还有别的办法吗?要代码的哦,回答好的马上给分,谢谢!
...全文
191 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
aaaa3105563 2009-04-08
  • 打赏
  • 举报
回复
学习···
dir541541 2009-04-08
  • 打赏
  • 举报
回复
1. 用写文本方式写一个批处理
2. 调用该批处理.CreateProcess
如果后面的程序要等这个批处理执行完,可以再加上WaitForSingleObject


应该也可以用进程通信的方法来做,不过比较麻烦了
梅文海 2009-04-08
  • 打赏
  • 举报
回复
现在 Windows 下面,用 ShellExecute 更方便些

HINSTANCE ShellExecute(
HWND hwnd,
LPCTSTR lpOperation,
LPCTSTR lpFile,
LPCTSTR lpParameters,
LPCTSTR lpDirectory,
INT nShowCmd
);

例如:
ShellExecute(NULL, _T("open"), strURL, NULL,NULL, SW_SHOW);
wxgiter 2009-04-08
  • 打赏
  • 举报
回复
顶一下~~
hoomien 2009-04-08
  • 打赏
  • 举报
回复
3L正解!
deerwin1986 2009-04-08
  • 打赏
  • 举报
回复
顶~
Dinelgua 2009-04-08
  • 打赏
  • 举报
回复
system, _wsystemSee Also
Process and Environment Control Routines | _exec Functions | exit | _flushall | _spawn Functions | Run-Time Routines and .NET Framework Equivalents
Requirements
Routine Required header Compatibility
system <process.h> or <stdlib.h> ANSI, Win 98, Win Me, Win NT, Win 2000, Win XP
_wsystem <process.h> or <stdlib.h> or <wchar.h> Win NT, Win 2000, Win XP

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.
Execute a command.

int system(
const char *command
);

Example
This program uses system to TYPE a text file.
// crt_system.c

#include <process.h>

int main( void )
{
system( "type crt_system.txt" );
}

int _wsystem(
const wchar_t *command
);
Parameter
command
Command to be executed.
xuruichen 2009-04-08
  • 打赏
  • 举报
回复
路过,学习,不懂,顶楼主。
ylywyn136 2009-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 mLee79 的回复:]
shell下基本上命令行都可以有32K及以上, 即使功能最弱智的写着最繁琐的win32自带的cmd,百把条命令难道会放不下,像 sh , csh 虾米的就更没问题了....

system(
"echo ----- 11111 ----- &&"
"cd /d r:\\ &&"
"(if not exist aa\\nul mkdir aa )&&"
"cd aa &&"
"echo 1111 > 11 &&"
"echo 2222 > 22 &&"
"\"C:\\Program Files\\7-Zip\\7z\" a r:\\aa\\t.7z 11 22 &&"
"echo --- ALL DONE ----"
);
[/Quote]
mLee79 2009-04-08
  • 打赏
  • 举报
回复
shell下基本上命令行都可以有32K及以上, 即使功能最弱智的写着最繁琐的win32自带的cmd,百把条命令难道会放不下,像 sh , csh 虾米的就更没问题了....

system(
"echo ----- 11111 ----- &&"
"cd /d r:\\ &&"
"(if not exist aa\\nul mkdir aa )&&"
"cd aa &&"
"echo 1111 > 11 &&"
"echo 2222 > 22 &&"
"\"C:\\Program Files\\7-Zip\\7z\" a r:\\aa\\t.7z 11 22 &&"
"echo --- ALL DONE ----"
);


liqianfu0214 2009-04-08
  • 打赏
  • 举报
回复
希望回帖的朋友能够写出代码,在线等!
xfinal2006 2009-04-08
  • 打赏
  • 举报
回复
用批处理文件 .bat

65,211

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧