比如运行如下命令:
cd c:\test
dir
del test.txt
注意:希望用户能看到DOS窗口和运行结果。
19 个解决方案
#1
你写个batch调用好么= =
#2
不懂!Up
#3
还不如写个BAT,然后在VC里面WinExec 调用 cmd.exe 1.bat 不就好了
#4
一般情况下都是调用,当然你也可以Winexec运行cmd,然后把批处理一条条传过去,Dos窗口看得到,但运行结果一般都是一闪而过,你不用echo试试
#5
函数 system("cd c:\test");
system("del test.txt");
system("del test.txt");
#6
system(cd c:\test );
system(dir );
system(del test.txt );
system(pause);
system(dir );
system(del test.txt );
system(pause);
#7
做一个bat文件,内容就是你要执行的命令集,然后执行如下代码:
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
si.dwFlags=STARTF_USESHOWWINDOW;
si.wShowWindow=SW_SHOW;
ZeroMemory( &pi, sizeof(pi) );
//watchdog
if( !CreateProcess(NULL, // No module name (use command line).
TEXT("cmd.exe /k xx.bat"), // 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.
)
{
MessageBox("error");
exit(-1);
}
#8
不好意思,上面会打开4个窗口,不能满足要求,下面就可以了
system("cd c:\test & dir & del test.txt & pause");
system("cd c:\test & dir & del test.txt & pause");
#9
在batch最后加个pause命令, 把echo关了就不显示了........
#10
//一句话:
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
#11
//一句话:
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
#12
我调试成功的是
VC6
system("d: & cd test & dir & del test.txt & pause");
VC6
system("d: & cd test & dir & del test.txt & pause");
#13
很抱歉,我刚才可能没把要求将清楚。我希望用户的感觉就像手工执行多条命令一样。所以要满足如下条件:
1。不用*.bat文件
2。不改变命令格式。(不把命令转换为“d: & cd test & dir & del test.txt & pause”)
3。如果需要的话,用户可以在程序运行完这些命令后,再手工运行一些其他命令。
还是要谢谢zngsai和ydfy6,我也会给你们加分的。
1。不用*.bat文件
2。不改变命令格式。(不把命令转换为“d: & cd test & dir & del test.txt & pause”)
3。如果需要的话,用户可以在程序运行完这些命令后,再手工运行一些其他命令。
还是要谢谢zngsai和ydfy6,我也会给你们加分的。
#14
用System函数或者执行cmd把命令作为参数传过去,可以满足你的1和2条,手工运行的话,还是执行cmd然后传参。
#15
怎样把命令传进cmd窗口中呢?
#16
CMD
#17
做控制台程序,DOS窗口就自动打开了,不用传。CMD也不用了。
#18
用SendMessage向CMD的窗口发送字符得了
#19
写成bat file就会只有一个窗口打开了
#20
#1
你写个batch调用好么= =
#2
不懂!Up
#3
还不如写个BAT,然后在VC里面WinExec 调用 cmd.exe 1.bat 不就好了
#4
一般情况下都是调用,当然你也可以Winexec运行cmd,然后把批处理一条条传过去,Dos窗口看得到,但运行结果一般都是一闪而过,你不用echo试试
#5
函数 system("cd c:\test");
system("del test.txt");
system("del test.txt");
#6
system(cd c:\test );
system(dir );
system(del test.txt );
system(pause);
system(dir );
system(del test.txt );
system(pause);
#7
做一个bat文件,内容就是你要执行的命令集,然后执行如下代码:
STARTUPINFO si;
PROCESS_INFORMATION pi;
ZeroMemory( &si, sizeof(si) );
si.cb = sizeof(si);
si.dwFlags=STARTF_USESHOWWINDOW;
si.wShowWindow=SW_SHOW;
ZeroMemory( &pi, sizeof(pi) );
//watchdog
if( !CreateProcess(NULL, // No module name (use command line).
TEXT("cmd.exe /k xx.bat"), // 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.
)
{
MessageBox("error");
exit(-1);
}
#8
不好意思,上面会打开4个窗口,不能满足要求,下面就可以了
system("cd c:\test & dir & del test.txt & pause");
system("cd c:\test & dir & del test.txt & pause");
#9
在batch最后加个pause命令, 把echo关了就不显示了........
#10
//一句话:
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
#11
//一句话:
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
system("cd c:\test&dir&del test.txt&pause" );
//VC6.0SP6+XPSP3调试成功!
#12
我调试成功的是
VC6
system("d: & cd test & dir & del test.txt & pause");
VC6
system("d: & cd test & dir & del test.txt & pause");
#13
很抱歉,我刚才可能没把要求将清楚。我希望用户的感觉就像手工执行多条命令一样。所以要满足如下条件:
1。不用*.bat文件
2。不改变命令格式。(不把命令转换为“d: & cd test & dir & del test.txt & pause”)
3。如果需要的话,用户可以在程序运行完这些命令后,再手工运行一些其他命令。
还是要谢谢zngsai和ydfy6,我也会给你们加分的。
1。不用*.bat文件
2。不改变命令格式。(不把命令转换为“d: & cd test & dir & del test.txt & pause”)
3。如果需要的话,用户可以在程序运行完这些命令后,再手工运行一些其他命令。
还是要谢谢zngsai和ydfy6,我也会给你们加分的。
#14
用System函数或者执行cmd把命令作为参数传过去,可以满足你的1和2条,手工运行的话,还是执行cmd然后传参。
#15
怎样把命令传进cmd窗口中呢?
#16
CMD
#17
做控制台程序,DOS窗口就自动打开了,不用传。CMD也不用了。
#18
用SendMessage向CMD的窗口发送字符得了
#19
写成bat file就会只有一个窗口打开了