명령프롬프트에서는 와일드카드 (*) 를 이용한 파일 삭제를 편리하게 할 수 있다.
예를 들어 디렉터리 내에 다음과 같은 파일 들이 있을 때
a20160501.jpg
a20160502.jpg
a20160503.jpg
a20160601.jpg
a20160602.jpg
a20160603.jpg
a로 시작하는 201605 월 파일들만 삭제하려고 할 때
명령프롬프트에서는 다음과 같이 실행하면 여러개의 파일을 일괄로 삭제할 수 있었다.
델파이에서는 기본적으로 DeleteFile 함수만 존재한다.
따라서 다음 처럼 프로시저를 만들어서 파일을 찾아가면서 일일이 처리하면 가능하다.
procedure TForm1.Deletefile_WildCard(aPathFname_Wild: string); // 와일드카드 파일삭제
var
vSearchRec: TSearchRec;
vFind: integer;
vPath, vFname:string;
begin
// aPathFname_Wild = 'C:\Users\a201605*.jpg' 일때
vPath := ExtractFilePath(aPathFname_Wild); // 'C:\Users\'
vfname := ExtractFileName(aPathFname_Wild); // 'a201605*.jpg'
vFind := FindFirst(vPath + vfname, faAnyFile, vSearchRec);
while vFind = 0 do
begin
DeleteFile(vPath + vSearchRec.Name);
vFind := SysUtils.FindNext(vSearchRec);
end;
FindClose(vSearchRec);
end;
참고) http://niceit.tistory.com/137
'델파이' 카테고리의 다른 글
TDBNavigator 의 Insert 버튼의 Insert 메소드를 Append 로 바꾸기 (0) | 2016.09.01 |
---|---|
델파이 VBA 엑셀 이미지 삽입 방법 2가지, Shapes.AddPicture, Pictures.Insert (0) | 2016.08.26 |
PDF 파일 만들기 (엑셀 OleObject 이용) (0) | 2016.05.20 |
TPopupMenu , TMenuItem 을 사용하는 TComponent 알아내기 (0) | 2016.05.15 |
TDBCtrlGrid 마우스휠 이벤트 구현, TMessage 타입 변경이 원인 (0) | 2016.03.17 |