알짜게시판

TDirectory.Delete 대신 CMD 으로 폴더 삭제

보통 Delphi 코드에서 폴더를 통째로 삭제할 때는 TDirectory.Delete(FDataDir, True)를 많이 사용한다. 이 방식은 안전하게 동작하지만, 내부적으로 모든 파일과 하위 폴더를 재귀적으로 확인하며 하나씩 삭제하기 때문에 파일 개수가 많을수록 시간이 오래 걸린다. 특히 프로그램 종료 직전에 캐시 폴더를 지울 때, 이 과정 때문에 종료가 늦게 끝나는 현상이 발생한다.

이 문제를 해결하기 위해 코드를 다음과 같이 바꿔봤다.

WinExec(PAnsiChar(AnsiString('cmd /c rd /s /q "' + FDataDir + '"')), SW_HIDE);

이 방식은 윈도우 명령어 rd /s /q를 호출하여 폴더 전체를 지우는 방법이다. 프로그램에서 직접 파일을 하나하나 처리하지 않고, 시스템이 최적화된 방식으로 삭제를 진행한다. 그 결과 삭제 속도가 눈에 띄게 빨라지고, 종료 과정에서 사용자가 기다리는 시간이 거의 사라진다.

추가로 좋은 점은 프로그램이 종료되더라도 cmd 프로세스가 백그라운드에서 계속 실행되어 삭제 작업을 이어간다는 점이다. 즉, 사용자는 프로그램이 곧바로 닫히는 것을 체감하면서 실제 파일 삭제는 알아서 진행된다.

정리하자면 TDirectory.Delete는 안전하고 표준적인 방법이지만, 캐시처럼 중요하지 않은 파일을 종료 직전에 대량으로 지울 때는 rd /s /q 방식이 훨씬 빠르고 사용자 경험이 좋다. 특히 파일 수가 많은 경우라면 두 방식의 차이가 크게 느껴질 것이다.

로그인 후 댓글내용을 입력해주세요

제목 글쓴이 조회 날짜
리눅스 아파치 일반 계정 파일 접근 권한 설정과 mod-ruid2 적용 방법 127 26-04-26
델파이 Delphi IDE 메인 폼 안열림 dproj 설정으로 해결 105 26-04-26
개발팁 VSCode 한국어 설정법, Configure Display Language로 UI 언… 143 26-04-24
기타 RustDesk 자체 서버 구축으로 공용 서버 로그인 문제 해결 263 26-04-16
리눅스 Dante SOCKS5 프록시 서버 구축 및 설정 305 26-04-10
윈도우 윈도우 실행파일(exe) 서비스 등록 자동화 쉽게 하는 방법 - NSSM 420 26-04-05
기타 CLIProxyAPI Windows 설치 가이드 700 26-04-04
워드프레스 그누보드7 데이터를 WordPress WXR로 변환하기 424 26-04-01
기타 Ollama 설치 경로 C드라이브 고정 문제 해결 및 드라이브 변경 방법 416 26-03-31
개발팁 Apache Access Log 기반 도메인별 방문자 카운터 구현 338 26-03-31
윈도우 ZImage AI 이미지 생성 환경 구축 방법 513 26-03-26
윈도우 파일 복사 후 실행 배치파일 - 에러 감지 포함 535 26-03-10
개발팁 네이버 검색 Open API 842 26-02-10
개발팁 네이버 검색광고 키워드 도구 API 검색 1,019 26-02-10
개발팁 MariaDB column_stats 테이블 오류 해결 방법 1,023 25-12-06
개발팁 PHP-FPM 에러 로그 실시간 모니터링 919 25-12-03
윈도우 윈도우11 업데이트 후 네트워크 드라이브 접근 불가 문제 해결 방법 1,672 25-11-24
개발팁 다국어 번역 함수 구현 방법 3,343 25-11-08
워드프레스 "치명적인 오류가 발생했습니다" 디버깅 가이드 14,139 25-10-31
리눅스 Apache 웹 로그 분석하기 – awk와 GoAccess 활용 18,723 25-10-28
윈도우 윈도11 강제업데이트 피하고 윈도10 계속 쓰기 41,882 25-10-12
리눅스 PHP 파일 업로드 용량 늘리기 56,793 25-10-03
개발팁 애드센스 충돌 문제 해결하기 74,778 25-09-20
파이썬 Python Playwright로 Edge 브라우저 제어하기 76,856 25-09-12
델파이 TDirectory.Delete 대신 CMD 으로 폴더 삭제 75,160 25-09-10
개발팁 애드센스 자동 광고 사용 시 빈 화면이 출력된다면? 159,424 25-06-20
워드프레스 xmlrpc.php 차단으로 보안 강화하기 137,147 25-06-05
델파이 폼이 모니터 한 가운데 있는 경우 자연스럽게 왼쪽으로 이동시키기 134,730 25-05-26
윈도우 WSH script registration is not valid. 134,943 25-05-23
워드프레스 제목 블록 기본값을 H5로 변경하는 방법 116,209 25-05-22
파이썬 동영상 특정 영역 모자이크(흐리게) 하기 47,919 25-04-30
목록
결혼의정석지원톡톡웹프로그래밍보안IT책과지식