代码如下:
STARTUPINFO rsyncStartInfo;
rsyncStartInfo.wShowWindow = SW_MAXIMIZE;
ZeroMemory(&rsyncStartInfo, sizeof(STARTUPINFO));
rsyncStartInfo.cb = sizeof(STARTUPINFO);
rsyncStartInfo.cbReserved2 = NULL;
rsyncStartInfo.lpDesktop = NULL;
rsyncStartInfo.wShowWindow = SW_NORMAL;
rsyncStartInfo.dwFlags = STARTF_USESHOWWINDOW;
PROCESS_INFORMATION processInfo;
BOOL Ret = FALSE;
Ret = CreateProcess("C:\\Program Files\\cwRsync\\bin\\rsync.exe",
"-vzrtopg --progress --delete testuser@192.168.0.104::test /cygdrive/g/backup",
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&rsyncStartInfo,
&processInfo);
11 个解决方案
#1
命令行语句最后加个pause命令
#2
因为你的rsync.exe 已经执行完毕,所以窗口就会关闭。
#3
我以前也试过,貌似命令行程序加system("pause")也不行。
我当时是把命令行程序的结果输出到文件,最后看那文件。。
我当时是把命令行程序的结果输出到文件,最后看那文件。。
#4
cmd.exe /k + 原来的命令
#5
cmd.exe /k "C:\\Program Files\\cwRsync\\bin\\rsync.exe" -vzrtopg --progress --delete testuser@192.168.0.104::test /cygdrive/g/backup
#6
命令行程序执行完了就关闭了 自然就是一闪而过
#7
cmd.exe /k 执行完命令行不关闭
cmd.exe /c 执行完命令行马上关闭
cmd.exe /c 执行完命令行马上关闭
#8
最终要看rsync.exe里是怎样处理这些参数的
#9
我知道了,谢谢大家的支持,正确代码如下:
STARTUPINFO rsyncStartInfo;
rsyncStartInfo.wShowWindow = SW_MAXIMIZE;
ZeroMemory(&rsyncStartInfo, sizeof(STARTUPINFO));
rsyncStartInfo.cb = sizeof(STARTUPINFO);
rsyncStartInfo.cbReserved2 = NULL;
rsyncStartInfo.lpDesktop = NULL;
rsyncStartInfo.wShowWindow = SW_NORMAL;
rsyncStartInfo.dwFlags = STARTF_USESHOWWINDOW;
PROCESS_INFORMATION processInfo;
BOOL Ret = FALSE;
SetEnvironmentVariable("RSYNC_PASSWORD", "123456");
Ret = CreateProcess(NULL,
"C:\\Program Files\\cwRsync\\bin\\rsync.exe -vzropg --progress --delete testuser@192.168.0.104::test /cygdrive/g/backup",
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&rsyncStartInfo,
&processInfo);
#10
可不可以让cmd窗口处于等待读取键盘输入状态
#11
在返回之前调用 getchar().
程序就会等待你键盘输入 回车后才退出。
程序就会等待你键盘输入 回车后才退出。
#1
命令行语句最后加个pause命令
#2
因为你的rsync.exe 已经执行完毕,所以窗口就会关闭。
#3
我以前也试过,貌似命令行程序加system("pause")也不行。
我当时是把命令行程序的结果输出到文件,最后看那文件。。
我当时是把命令行程序的结果输出到文件,最后看那文件。。
#4
cmd.exe /k + 原来的命令
#5
cmd.exe /k "C:\\Program Files\\cwRsync\\bin\\rsync.exe" -vzrtopg --progress --delete testuser@192.168.0.104::test /cygdrive/g/backup
#6
命令行程序执行完了就关闭了 自然就是一闪而过
#7
cmd.exe /k 执行完命令行不关闭
cmd.exe /c 执行完命令行马上关闭
cmd.exe /c 执行完命令行马上关闭
#8
最终要看rsync.exe里是怎样处理这些参数的
#9
我知道了,谢谢大家的支持,正确代码如下:
STARTUPINFO rsyncStartInfo;
rsyncStartInfo.wShowWindow = SW_MAXIMIZE;
ZeroMemory(&rsyncStartInfo, sizeof(STARTUPINFO));
rsyncStartInfo.cb = sizeof(STARTUPINFO);
rsyncStartInfo.cbReserved2 = NULL;
rsyncStartInfo.lpDesktop = NULL;
rsyncStartInfo.wShowWindow = SW_NORMAL;
rsyncStartInfo.dwFlags = STARTF_USESHOWWINDOW;
PROCESS_INFORMATION processInfo;
BOOL Ret = FALSE;
SetEnvironmentVariable("RSYNC_PASSWORD", "123456");
Ret = CreateProcess(NULL,
"C:\\Program Files\\cwRsync\\bin\\rsync.exe -vzropg --progress --delete testuser@192.168.0.104::test /cygdrive/g/backup",
NULL,
NULL,
FALSE,
CREATE_NEW_CONSOLE,
NULL,
NULL,
&rsyncStartInfo,
&processInfo);
#10
可不可以让cmd窗口处于等待读取键盘输入状态
#11
在返回之前调用 getchar().
程序就会等待你键盘输入 回车后才退出。
程序就会等待你键盘输入 回车后才退出。