I would like to delete the folder folderToDelete, which contains subfolders and those folders might contain subfolders, and so on. I do not have permission to do the x command. I have the following code (after looking at the following post Delete folder (directory) and all files in it😞 %macro delete_folder(folderToDelete);
data work.FilesToDelete;
length Name $ 100;
keep Name;
rc = filename("folder", "&folderToDelete.");
dirId = dopen("folder");
do i = 1 to dnum(dirID);
Name = dread(dirId, i);
output;
end;
rc = dclose(dirId);
run;
data _null_;
set work.FilesToDelete end=lastDeleted;
put "Deleting " Name;
rc = filename("delfile", cats("&folderToDelete./", Name));
rc = fdelete("delfile");
put "del file " rc=;
rc = filename("delfile");
if lastDeleted then do;
put "Deleting the folder '&folderToDelete.'";
rc = filename("folder", "&folderToDelete.");
rc = fdelete("folder");
put "del folder " rc=;
rc = filename("folder");
end;
run;
%mend; However, since my folder contains subfolders, only the tables are delete and not the subfolders, resulting in the main folder not being deleted. In that sense, what I would like was to apply a function recursively to delete every file inside any subfolder (or any other suggestion you might have). As an example, if my folder has the following structure: > folder > subfolder_1 > T_1_1.sas7bdat > T_1_2.sas7bdat > T_1_3.sas7bdat > subsubfolder_1 > T_1_1_1.sas7bdat > subfolder_2 > T_2_1.sas7bdat > T_1.sas7bdat > T_2.sas7bdat > T_3.sas7bdat > T_4.sas7bdat after running the first data step, which reads the folder, I get Name subfolder_1 subfolder_2 T_1.sas7bdat T_2.sas7bdat T_3.sas7bdat T_4.sas7bdat and then in the second data step, only the tables are deleted. However, I would like to delete the entirety of the folder. Can someone help?
... View more