我如何檢查目錄是否存在,如果沒有,那就再: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