如何获取用户属性,如sas中创建的

如何获取用户属性,如sas中创建的,sas,sas-macro,Sas,Sas Macro,如何获取.sas文件的用户详细信息或目录中存储的所有文件的文件属性?我试图为宏获取所有可能的属性,如:修改日期、修改人、创建人 data dir_meta(drop=rc file_ref fid); %let directory_ref = %sysfunc(filename(dirref,&dir)); %let dir_id=%sysfunc(dopen(&dirref)); if &dir_id eq 0 then do; put _error_=1; r

如何获取.sas文件的用户详细信息或目录中存储的所有文件的文件属性?我试图为宏获取所有可能的属性,如:修改日期、修改人、创建人

data dir_meta(drop=rc file_ref fid);

%let directory_ref = %sysfunc(filename(dirref,&dir));
%let dir_id=%sysfunc(dopen(&dirref));

if &dir_id eq 0 then do;
 put _error_=1;
 return;
end;

%let _count=%sysfunc(dnum(&dir_id);

do i=1 to &_count;
 %let dir_name = %sysfunc(dread(&dir_id,&i);
  if upcase(scan(&dir_name,-1,.)) = upcase(&extn) then do;
        put &dir\&dir_name;
        file_ref='temp';
        file_name=%sysfunc( filename(file_ref,"&dir\&&dir_name"));
        fid=%sysfunc(fopen(file_ref));
        create_date=%sysfunc(finfo(&fid,Create Time));
        Modified_date=%sysfunc(finfo(&fid,Last Modified));
        output;
        rc=fclose(fid);
    end;
end;
 %let rc_dir=%sysfunc(dclose(dir_id);
run;
斯韦塔

假定您在最新版本的Windows中使用SAS,并且会话允许使用X命令,则可以将powershell命令的结果通过管道传输到数据步骤,以读取所需的任何信息

在powershell中,使用此命令查看有关可选择文件的各种信息

PS > DIR | GET-MEMBER
一旦您决定让成员选择数据步骤,即可读取powershell输出。例如:

filename fileinfo pipe 'powershell -command "dir | select Fullname, Length, @{E={$_.LastWriteTime.ToString(''yyyy-MM-ddTHH:mm:ss.ffffffzzz'')}} | convertTo-csv"';
* powershell datetime formatting tips: https://technet.microsoft.com/en-us/library/ee692801.aspx?f=255&MSPPError=-2147217396;

data mydata;
  infile fileinfo missover firstobs=4 dsd dlm=',';
  attrib 
    filename length=$250
    size length=8 format=comma12.
    lastwrite length=8 format=datetime20. informat=E8601DZ32.6
  ;
  input filename size lastwrite;
run;

请解释您在使用该代码时遇到的问题。看起来您已经将数据步骤逻辑与宏逻辑混合在一起了,我会惊讶地听到这一点。Proc内容可能会有所帮助?那很好。问题是什么?如果您需要帮助,您需要提供更多详细信息,但首先,FINO提供的信息有限,因此我认为它无法提供您需要的信息: