好日子,
我有以下从第10代开始的永久文件系列:
file#010
file#011
file#012
....
file#062
file /*the latest one*/这是由于一些清理工作,第1-9代被认为有错误的数据,并被删除。
,我想重新生成这个系列,以便第一个是生成#001,#002等等:
file#001
file#002
file#003
....
file#052
file /*the latest one*/我想出的唯一办法是将整个系列保存到另一个名称,删除旧数据并重新保存它们。这似乎很愚蠢,而且-ooops-的潜在损害风险太高.有什么办法可以再生代数位吗?
发布于 2017-10-05 07:31:51
如果您要问的是如何使用SAS重命名这些文件,则应该这样做(假设您的环境允许X命令):
%let dir=<path_to_your_folder>;
filename fn pipe "dir /b &dir.\file#*";
data _null_;
infile fn;
input;
rc=rename(cats("&dir.\",_infile_),cats("&dir.\file#",put(_N_,z3.)),'file');
run;您也可以只使用SAS函数进行相同的操作。
%let dir=<path_to_your_folder>;
data _null_;
filename root "&dir";
did=dopen('root');
numfiles=dnum(did);
n=10;
do i=1 to numfiles;
physname=dread(did,i);
if prxmatch('/^file#\d\d\d/',physname) then do;
rc=rename(cats("&dir.\",physname),cats("&dir.\file#",put(n,z3.)),'file');
n+1;
end;
end;
rc=close(did);
run;https://stackoverflow.com/questions/46578903
复制相似问题