2011-06-13 116 views

回答

5

如果您不受SAS NOXCMD选项的约束(例如,SAS Enterprise Guide在管理员尚未打开它的默认配置中击中SASApp - Workspace Server),那么我会建议下载并使用Microsoft Sysinternals Disk使用(DU)工具通过使用管道文件名的SAS数据空步骤。以下是一些示例SAS代码:

filename du pipe "du -q c:\SAS\EBIEDIEG\Lev1\SASApp"; 
data work.diskusage; 
infile du; 
input @; 
put _infile_; 
if (_infile_ =: 'Size:') then do; 
    sizeInBytes = input(scan(_infile_,2,' '), comma32.); 
    output; 
end; 
input; 
run; 

Microsoft Sysinternals磁盘使用情况(DU)与熟悉的UNIX du命令类似。您可以下载Sysinternals DU并查看文档http://technet.microsoft.com/en-au/sysinternals/bb896651它有一个-l参数,因此您可以指定它应该走多深。

如果受到NOXCMD选项的约束,则可以使用SAS DOPEN/DREAD/FILENAME/FOPEN/FINFO/FCLOSE/DCLOSE函数的一系列循环手动遍历目录树并合并文件大小。它将涉及更多的代码,但应该在NOXCMD环境中运行。如果你想使用这种方法,那么一个好的起点将是DOPEN的SAS文档http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000209538.htm,在那里你也可以找到其他函数的文档和例子。

+0

+1答案没有比这更好! – sasfrog 2011-06-14 11:24:25

+0

Sysinternals岩石!爱你... – 2011-06-15 15:12:30