我要分析一批SAS程序文件,在获取程序文件最后修改时间时卡住了。我想过X
命令,但效率太低了。
我只是发现当我使用infile
语句:
data test;
infile 'D:test.txt' truncover;
input ;
run;
日志显示最后修改时间:
NOTE: The infile 'D:test.txt' is:
Filename=D:test.txt,
RECFM=V,LRECL=32767,File Size (bytes)=7,
Last Modified=2021/1/26 15:25:48,
Create Time=2021/1/26 15:25:42
可以看到,日志窗口以注释的形式显示了文件的信息。然而,我的愿望输出是一个变量填充的最后修改时间.
是否有一些选项得到它,而使用infile
声明?当然,其他有效的方法也受到欢迎。
使用FOPEN
和FINFO
函数
的例子:
显示样例数据文件中所有可用的信息项及其值。
filename datafile 'c:tempdatafile.txt';
data _null_;
file datafile;
put 'Me data';
run;
data _null_;
fid = fopen('datafile');
if fid then do;
do index = 1 to foptnum(fid);
info_name = foptname(fid,index);
info_value = finfo(fid, info_name);
put index= info_name= @40 info_value=;
end;
rc = fclose(fid);
end;
run;
将记录诸如
之类的信息index=1 info_name=Filename info_value=c:tempdatafile.txt
index=2 info_name=RECFM info_value=V
index=3 info_name=LRECL info_value=32767
index=4 info_name=File Size (bytes) info_value=9
index=5 info_name=Last Modified info_value=26Jan2021:06:29:47
index=6 info_name=Create Time info_value=26Jan2021:06:28:23