如何使用 SAS 删除包含 SAS 数据集的外部文件夹



在驱动器中,我有文件夹(日期(,每个文件夹包含 1 个 SAS 文件。我期望的是只保留 13 个月的数据(只有 13 个月的文件夹(并删除驱动器中的任何其他旧文件夹。我们有它的代码还是还有其他东西可以做这个帮助?

使用 FDELETEDELETE 来执行此操作,另一个有用的函数是检查文件物理上是否存在的FEXIST。上面链接中的 sas 文档有很好的例子。

示例删除目录:如果文件夹不为空,则不会删除该文件夹

%let TargetPath=c:datatempFolder;
FILENAME FMyRep "&TargetPath";
%LET rc=%SYSFUNC(FDELETE(FMyRep));
%PUT rc=&rc;
FILENAME FMyRep CLEAR;

原始帖子在这里。

以下宏将删除整个文件夹和所有子目录(递归( - 它通过提取内容并从下往上删除所有文件来实现此目的。

https://core.sasjs.io/mp__deletefolder_8sas.html

它的测试在这里:https://core.sasjs.io/mp__deletefolder_8test_8sas_source.html

最新更新