Я хочу, чтобы выполнить файл ванны, используя system()
и путь к файлу будет передан в функцию, так это будет выглядеть следующим образом:Выполнение пакетный файл из C++ с пробелами в пути
void executeBatch(char* BatchFile){
system(BatchFile);
}
Теперь проблема в том, что путь, пройденный в не будет иметь экранировать кавычки игнорировать пространства, например, пользователь будет вход:
"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat"
Как добавить экранировать кавычки в пути, пройденном в?
Так что я essentually изменить:
"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat"
в
"\"C:\\Users\\500543\\Documents\\Batch File Project\\Testing.bat\""
перейти в этот каталог и убедитесь, что файл существует 'C: \ Пользователи \ 500543 \ Documents \ Batch File Project \ Testing.bat' –
@Nick Насколько я понимаю, OP будет сталкиваться с теми же проблемами при попытке изменить рабочий каталог или нет? –
@ g-makulik Я не прошу изменить рабочий каталог. Я прошу убедиться, что файл .bat существует там, где он думает, что он сидит. –