我正在尝试重命名特定文件夹中保存的一些文件。我在重命名它们时还包含了一些条件,例如当文件名包含“214”时,则将其重命名为A;当文件名包含“217”时,将其重命名为B等。顺便说一句,所有文件都是XLSX。
下面是我的代码,我不断在日志中收到“错误重命名:”。有人可以看一下我的代码并为我纠正它吗?谢谢!!
%let folder = /report/Sep2024;
filename mydir "&folder.";
data _null_;
length old_name $300 new_name $300;
did = dopen('mydir');
if did > 0 then do;
do i = 1 to dnum(did);
file_name = dread(did, i);
old_name = "&folder./" || file_name;
new_name = "";
if find(file_name, '214') > 0 then new_name = "&folder./A.xlsx";
else if find(file_name, '217') > 0 then new_name = "&folder./B.xlsx";
else if find(file_name, '445') > 0 then new_name = "&folder./C.xlsx";
else if find(file_name, '311') > 0 then new_name = "&folder./D.xlsx";
if new_name ne "" then do;
rc = rename("old_name","new_name",'file');
if rc = 0 then put "Successfully renamed: " old_name " to " new_name;
else put "Error renaming: " old_name " to " new_name;
end;
end;
rc = dclose(did);
end;
run;
我需要在某些条件下重命名保存在特定文件夹中的外部Excel文件。
您正在引用您想要 old_name 值而不是“old_name”的变量名称
rc = rename("old_name","new_name",'file');
尝试
rc = rename(old_name,new_name,'file');