在驱动器中,我有文件夹(日期(,每个文件夹包含 1 个 SAS 文件。我期望的是只保留 13 个月的数据(只有 13 个月的文件夹(并删除驱动器中的任何其他旧文件夹。我们有它的代码还是还有其他东西可以做这个帮助?
使用 FDELETE
或 DELETE
来执行此操作,另一个有用的函数是检查文件物理上是否存在的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