我如何检查目录是否存在,如果没有,那就再:SYSERR <> 0?,我需要SAS检查目录存在
%sysfunc(filename(fileref,&dir))
我需要SYSERR值,如果存在,否则为0 < > 0。 感谢您的帮助
我如何检查目录是否存在,如果没有,那就再:SYSERR <> 0?,我需要SAS检查目录存在
%sysfunc(filename(fileref,&dir))
我需要SYSERR值,如果存在,否则为0 < > 0。 感谢您的帮助
有可能获得SAS抛出一个错误,但我下面的工作的一个更清洁的方式。一般的想法是,如果目录存在,你可以做一些将syserr设置为0的东西;如果不是的话,你会做出引发错误的事情。
%let your_path = "...";
%macro your_macro(dir);
%let rc = %sysfunc(filename(fileref, &dir.));
%if %sysfunc(fexist(&fileref)) %then %do;
data _null_;
set _null_;
run;
%end;
%else %do;
data _null_;
set something_that_doesnt_exist;
run;
%end;
%put syserr = &syserr.;
%mend your_macro;
%your_macro(&your_path.);
的清洁器的方法,以检查是否一个文件夹中存在
%let does_it_exist=%sysfunc(fileexist(&dir));
这将返回值0,如果文件夹不存在,并且为1的值,如果该文件夹确实存在。
OP需要syserr值为1,但不仅仅是1的宏变量。 – superfluous
如果谷歌“SAS检查,如果目录存在”则返回大量的为你 – Longfish
我选择总是有SYSERR = 0,即使我尝试不存在的目录D打开功能。然后我得到的信息'操作结果已被设置为 缺失值。' – aola
为什么SYSERR而不是其他一些宏变量? – Tom