0
我想從文件夾中刪除具有3年舊文件的文件。但是,當我運行代碼時,它也刪除了其他文件,這些文件不是我嘗試刪除的文件名frmat。文件名是一樣SFRE_BIL_SIT_20160812_134317_PAM_FILES1.zip我重視的代碼也與此刪除使用sas的3年舊文件
options mlogic;
%macro delete_year_files_in_folder(folder);
filename filelist "&folder";
data _null_;
dir_id = dopen('filelist');
total_members = dnum(dir_id);
do i = 1 to total_members;
member_name = dread(dir_id,i);
datestring = scan(member_name,4,'_');
month = input(substr(datestring,5,2),best.);
day = input(substr(datestring,5,2),best.);
year = input(substr(datestring,1,4),best.);
date = mdy(month, day, year);
if intnx('year', today(),-3,'S') > date %put _all_;
then do;
file_id = mopen(dir_id,member_name,'i',0);
if file_id > 0 then do;
freadrc = fread(file_id);
rc = fclose(file_id);
rc = filename('delete',member_name,,,'filelist');
rc = fdelete('delete');
end; %put _all_;
rc = fclose(file_id);
end;
end;
rc = dclose(dir_id);
run;
%mend;
感謝您的幫助,它的工作 – Manesh
請註明答案所接受,如果你有幫助,並考慮upvoting它 - 它是如何現場作品。 – user667489