윈도우 프로그래밍 - 폴더 삭제하기
MFC 기본 함수 중 DeleteDirectory(..) 함수는 폴더 내 파일 또는 하위 디렉토리가 존재할 경우,
해당 폴더까지 전부 삭제 후 동작된다.
따라서 야매로 만든 간단한 방법.
cmd 명령어를 사용하는 코드이다.
void CClientControl::DeleteDirectory_Shell()
{
CString strCmd;
CString strTarget;
// strTarget.Format(삭제할 폴더 경로 + 이름);
// strTarget.Format(_T("E:\\Working\\test_folder")); 예시
strCmd.Format(_T("/c echo Y | cmd /c rd /s %s"), strTarget);
::ShellExecute(NULL, "open", "cmd", (LPCSTR)strCmd, NULL, SW_HIDE);
}
단, rd 명령어는 재귀적으로 지울건지 (Y) 응답을 받는데,
echo Y를 통해 이를 강제로 동작시킨 코드이다. (위험한 커맨드 TOP 10)