如何使用SAS来确定MBs(Windows)中目录的大小?

时间:2011-06-13 10:21:28

标签: windows sas

我正在寻找一些(高效)代码来确定Windows XP中使用SAS 9.1.3的目录/文件夹的大小。

1 个答案:

答案 0 :(得分:6)

如果您不受SAS NOXCMD选项的限制(例如SAS Enterprise Guide在其管理员尚未打开的默认配置中命中SASApp - Workspace Server),那么我建议下载并使用Microsoft Sysinternals磁盘使用(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环境中运行。如果你想使用这个方法,那么一个很好的起点将是http://support.sas.com/documentation/cdl/en/lrdict/64316/HTML/default/viewer.htm#a000209538.htm的DOPEN的SAS文档,在那里你也可以找到其他函数的文档和示例。