使用SAS删除文本文件
我正在寻找一段代码,最好是独立于操作系统且基于宏的代码,用于从SAS文档中删除文本文件(或任何相关文件):使用SAS删除文本文件,sas,sas-macro,Sas,Sas Macro,我正在寻找一段代码,最好是独立于操作系统且基于宏的代码,用于从SAS文档中删除文本文件(或任何相关文件): data _null_; fname="tempfile"; rc=filename(fname,"physical-filename"); if rc = 0 and fexist(fname) then rc=fdelete(fname); rc=filename(fname); run; 它本质上是独立于操作系统的,因为它可以在多个操作
data _null_;
fname="tempfile";
rc=filename(fname,"physical-filename");
if rc = 0 and fexist(fname) then
rc=fdelete(fname);
rc=filename(fname);
run;
它本质上是独立于操作系统的,因为它可以在多个操作系统上工作。因为fileref依赖于操作系统,所以您永远不会有真正的独立性,但如果您将其指定为参数,则不会有问题
作为宏,您可以在SYSFUNC块中使用FDELETE:
%put %sysfunc(fdelete(myfile));
但是,myfile需要是一个fileref,因此如果仅使用文件的实际物理位置作为参数,则需要两个步骤:
%macro file_Delete(file);
filename __a "&file.";
%put %sysfunc(fdelete(__a));
%mend file_delete;
我进一步采取了以下步骤:
%macro fdel(file);
%let rc= %sysfunc(filename(fref,&file));
%let rc= %sysfunc(fdelete(&fref));
%mend;
这使它有点多功能。谢谢你,乔