如何在 C++ 中使用 CMD 命令?
How to use a CMD command in c++?
我想使用这个cmd命令
ROBOCOPY D:\folder1 D:\folder2 /S /E
有条件将folder1的内容复制到folder2
if(i == 1)
并且
if(i == 2)
ROBOCOPY D:\folder3 D:\folder4 /S /E
将folder3的内容复制到folder4
我该怎么办?
最简单的方法是调用标准库函数system
:http://www.cplusplus.com/reference/cstdlib/system/
如果您需要更大的灵活性,http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx CreateProcess
是您的不二之选 - STARTUPINFO 参数可让您执行一些操作,例如向其传递自定义输入并捕获其输出。
"what should i do?"
您只需这样做(使用 std::system()
函数):
#include <cstdlib>
// ...
if(i == 1) {
std::system("ROBOCOPY D:/folder1 D:/folder2 /S /E");
}
else if(i == 2) {
std::system("ROBOCOPY D:/folder3 D:/folder4 /S /E");
}
请注意,对于像 "D:\folder3"
这样的字符串文字,您需要使用另一个 '\'
转义 '\'
个字符:"D:\folder3"
.
或者甚至更多,取决于解释命令 shell(应该在 windows cmd 上工作而不这样做):"D:\\folder3"
.
不过,更简单的方法是使用更简单的 '/'
字符,最近也可以指定 windows 路径。
我想使用这个cmd命令
ROBOCOPY D:\folder1 D:\folder2 /S /E
有条件将folder1的内容复制到folder2
if(i == 1)
并且
if(i == 2)
ROBOCOPY D:\folder3 D:\folder4 /S /E
将folder3的内容复制到folder4
我该怎么办?
最简单的方法是调用标准库函数system
:http://www.cplusplus.com/reference/cstdlib/system/
如果您需要更大的灵活性,http://msdn.microsoft.com/en-us/library/windows/desktop/ms682425%28v=vs.85%29.aspx CreateProcess
是您的不二之选 - STARTUPINFO 参数可让您执行一些操作,例如向其传递自定义输入并捕获其输出。
"what should i do?"
您只需这样做(使用 std::system()
函数):
#include <cstdlib>
// ...
if(i == 1) {
std::system("ROBOCOPY D:/folder1 D:/folder2 /S /E");
}
else if(i == 2) {
std::system("ROBOCOPY D:/folder3 D:/folder4 /S /E");
}
请注意,对于像 "D:\folder3"
这样的字符串文字,您需要使用另一个 '\'
转义 '\'
个字符:"D:\folder3"
.
或者甚至更多,取决于解释命令 shell(应该在 windows cmd 上工作而不这样做):"D:\\folder3"
.
不过,更简单的方法是使用更简单的 '/'
字符,最近也可以指定 windows 路径。