mirror of
https://github.com/sasjs/core.git
synced 2025-12-10 14:04:36 +00:00
34 lines
755 B
SAS
34 lines
755 B
SAS
/**
|
|
@file
|
|
@brief Checks whether a path is a valid directory
|
|
@details
|
|
Usage:
|
|
|
|
%let isdir=%mf_isdir(/tmp);
|
|
|
|
With thanks and full credit to Andrea Defronzo -
|
|
https://www.linkedin.com/in/andrea-defronzo-b1a47460/
|
|
|
|
@param [in] path Full path of the file/directory to be checked
|
|
|
|
@return output returns 1 if path is a directory, 0 if it is not
|
|
|
|
@version 9.2
|
|
**/
|
|
|
|
%macro mf_isdir(path
|
|
)/*/STORE SOURCE*/;
|
|
%local rc did is_directory fref_t;
|
|
|
|
%let is_directory = 0;
|
|
%let rc = %sysfunc(filename(fref_t, %superq(path)));
|
|
%let did = %sysfunc(dopen(&fref_t.));
|
|
%if &did. ^= 0 %then %do;
|
|
%let is_directory = 1;
|
|
%let rc = %sysfunc(dclose(&did.));
|
|
%end;
|
|
%let rc = %sysfunc(filename(fref_t));
|
|
|
|
&is_directory
|
|
|
|
%mend mf_isdir; |