2011-06-13 114 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