Как удалить папку, где находится исполняемый файл

Я создал простую процедуру удаления, сделал некоторую внешнюю bat в папке temp, которая запускается из приложения, bat удаляет все файлы из каталога (где установлено приложение). Теперь у меня проблема, когда все файлы удаляются из папки (включая само приложение), я не могу удалить папку.

Вот код для летучей мыши

ofstream batch;
batch.open(TempPath.c_str(), ios::out);
batch << "timeout 2" << "\n";
batch << "RD /S /Q \"C:\\Program Files\\Application\" /q\n";
batch << "timeout 5" << "\n";
batch << "rmdir \"C:\\Program Files\\Application\"";
batch.close();

Теперь вопрос, как удалить папку после удаления из нее всех файлов?

0

Решение

Тебе стоит попробовать

batch << "RD /S /Q \"C:\\Program Files\\Application\" /s /q\n";

/ s: удаляет указанный каталог и все подкаталоги
включая любые файлы. Используйте / s, чтобы удалить дерево.

Также убедитесь, что пакетный скрипт имеет права администратора, в противном случае ОС откажет ему в изменении файлов, расположенных в C:\Program Files\

1

Другие решения


По вопросам рекламы [email protected]