0
3つ以上のファイルがある場合、バックアップからファイルを削除します。sasで削除する、バックアップからファイルを削除する
filename parent '/abc/cde';
親ディレクトリのファイルが3つ未満の場合、sasコードは何もしません。 サンプルファイルの名前: ABC_1117_02MAY2016.txt - すべて同じ長さです。
count()> 3の場合、sascodeはサブ文字列のすべての日付を返します。 02MAY2016、 3番目に小さい日付のファイルをすべて削除したいからです。
data all_files;
keep substr_date;
did=dopen("parent");
if dnum(did)>3 then do;
do i=1 to dnum(did);
wycinek_z_daty=substr(dread(did,i),10,9);
output;
end;
end;
run;
私はそれを
proc sort data=all_files;
by descending substr_date;
run;
を並べ替えるそれは私が私が私が削除したいものをすべて持つテーブルを作成する
data backup;
set all_files(obs=3);
run;
を削除したくないものです。
proc sql;
create table delete as
select*from all_files except select*from backup;
quit;
「削除」テーブルにあるこれらのファイルはどのように削除できますか?あなたが次に
%macro delete_file(file=);
fdelete("&file.");
%mend;
することができます:私は、私はfdelete目的球に助けを
%macro test;
%do i=1 %to &sqlobs;
fdelete('/abc/cde/ABC_1117_&something. Can I use macro variable for i? because only date in name is changing?)
%end;
%mend;
おかげで、 aola