SAS:删除文件夹中的所有 .txt 文件

Sam*_*mmy 3 sas

我需要从目录中删除所有文本文件。以下程序适用于列出的文件(例如:file.txt),但是当我尝试使用 *.txt 时它不起作用。我是否遗漏了什么或者有更好的方法来删除目录中的所有 txt 文件。

data _null_; 
      fname = "_files"; 
      rc = filename(fname,"&path\file.txt"); 
      if rc = 0 and fexist(fname) then         
         rc = fdelete(fname); 
      rc = filename(fname);
   run;
Run Code Online (Sandbox Code Playgroud)

Ken*_*eni 5

如果你是宏的粉丝……下面的代码应该做同样的事情。

 options mlogic;
    %macro delete_all_txt_files_in_folder(folder);
       filename filelist "&folder";
       data _null_;
          dir_id = dopen('filelist');
          total_members = dnum(dir_id);
          do i = 1 to total_members;  
             member_name = dread(dir_id,i);
             if scan(lowcase(member_name),2,'.')='txt' then do; 
              file_id = mopen(dir_id,member_name,'i',0);
              if file_id > 0 then do; 
                freadrc = fread(file_id);
                rc = fclose(file_id);
                rc = filename('delete',member_name,,,'filelist');
                rc = fdelete('delete');
             end;
             rc = fclose(file_id);
          end;
          end;
          rc = dclose(dir_id);
       run;
    %mend;


    %delete_all_txt_files_in_folder(C:\try)
Run Code Online (Sandbox Code Playgroud)