2010-11-10 76 views
4

我知道SAS中的finfo函数将文件大小作为Unix中的一个信息字段返回。 Windows中是否有等价物?获取SAS中的随机文件的文件大小(Windows)

我需要能够从SAS/AF代码中获取特定文件夹中使用的总磁盘空间。欢迎大家提出意见。

感谢,

- 一个

回答

2

我以前发布的SAS宏读取windows目录列表here

+0

这非常有帮助。我通过一些调整使它工作得很好! – Adnan 2010-11-11 02:14:02

2

如果你有SAS版本9.2或更高版本那么这个链接将无论工作OS的:

http://support.sas.com/kb/38/267.html

这里是链接的转述的版本完全相同回答你的问题:

%let filename = d:\sasdev\autoexec.sas; 
data info; 
    length filesize $60; 
    drop rc fid close; 
    rc=filename("myfile","&filename"); 
    fid=fopen("myfile"); 
    filesize=finfo(fid,"File Size (bytes)"); 
    close=fclose(fid); 
    put filesize=; 
run; 

干杯 Rob

PS - 有你签出www.runsubmit.com?它就像StackOverflow,但仅适用于SAS相关问题。

+0

感谢您的链接。不幸的是,我们仍然需要支持SAS 9.1.3,因此任何9.2特定功能都无法使用。但是我可以在我的方法中做一些特定于版本的事情,就像我现在正在做特定于操作系统的事情一样。 – Adnan 2010-11-11 02:13:26

+0

哦谢谢runubmit.com链接。 – Adnan 2010-11-11 02:16:17

0

我要做些什么这些混沌,写一个效用函数执行以下操作:

  • 如果该文件是SAS数据集,然后使用标准SAS功能来获得文件大小(LRECL一些和NOBS数学)
  • 否则,如果它是UNIX或SAS 9.2,使用FINFO
  • 否则,使用由@rkoopmann

注写的宏观的修改版本,这仅仅是OK的我becau我的要求是能够获得特定文件的大小。