执行批处理文件C ++的功能

时间:2013-07-11 17:21:32

标签: c++ batch-file cmd

我想使用system()执行一个bath文件,文件的路径将被传递给函数,所以它看起来像这样:

void executeBatch(char* BatchFile){
    system(BatchFile);
}

现在问题是传入的路径没有用于忽略空格的转义引号,例如用户输入的内容:

"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat"

如何在传入的路径中添加转义引号?

所以我特意改变:

"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat"

"\"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat\""

1 个答案:

答案 0 :(得分:2)

我认为你想要这样的东西:

void executeBatch(char* BatchFile){
string cmd(BatchFile)
string expandCmd = string(""\\") + cmd + string("\\"");
system(expandCmd.c_str());
}