* 출처 : http://cafe.daum.net/statsas/3F8j/116
* http://www.statwith.pe.kr/SAS/1.FUNCTION/F_list.htm#F09;
* 내부의 fdelete 파일 부분의 주석문을 제거후 사용하시면 됩니다. 단, Delete문장의 위험상 사용전에 테스트후에 사용하시는 것 잊지 마시기를 바랍니다.;
* 현재는 디렉토리 안의 모든 파일을 삭제하는 프로그램입니다. 엑셀파일만 삭제시 안정상 "scan(upcase(name),2,'.') ne ' '" 이 부분을 "scan(upcase(name),2,'.') = 'XLS'" 로 변경하시는 것이 더 좋을 듯 합니다.;
%let myDir=c:\work;
data back;
length name $ 40 filePath $ 200;
* 외부파일에 대한 참조명 할당;
rc=filename("myDir","&myDir");
if rc=0 then do;
* 디렉토리 Open;
did=dopen("myDir");
if did > 0 then do;
* 디렉토리의 멤버수 반환;
memcount=dnum(did);
do i=1 to memcount;
* 디렉터리 안의 구성원 이름 반환;
name=dread(did,i);
var1=scan(upcase(name),2,'.');
* 확장자 존재시 Do문장 실행;
if scan(upcase(name),2,'.') ne ' ' then do;
* 파일 경로명 생성;
filePath=catx('\',pathname('myDir'),name);
rc=filename('mkrFile',filePath);
if rc=0 then do;
* 파일을 삭제시;
*rc=fdelete('mkrFile');
if rc=0 then put 'NOTE: ' filePath 'deleted';
else put 'ERROR: ' filePath 'not deleted!';
end;
end;
output;
end;
rc=dclose(did);
end;
rc=filename('mkrFile',' ');
rc=filename('myDir',' ');
end;
run;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!