一 有的資料雜七雜八,還不清楚。我這裏直接上代碼:
①重命名某文件夾下的很多文件的名字(例如C:\Users\du\Desktop\test\4文件夾下有很多張.jpg圖片批量重新命名)
、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
path=strcat('C:\Users\du\Desktop\test\4\','*.jpg')
file = dir(path)
len = length(file)
for i = 1 : len
oldname = file(i).name;
newname = num2str(i,'%i.jpg');
eval(['!rename' 32 oldname 32 newname]);
end
.........................................................
②
重命名文件夾名字(例如批量重命名C:\Users\du\Desktop\test下的所有文件夾批量重新命名):
matlab先到C:\Users\du\Desktop\test路徑下,然後
file = dir('*');
len = length(file)
for i = 1 : len
oldname = file(i).name;
newname = num2str(i,'%i');
eval(['!rename' 32 oldname 32 newname]);
end
二 上面代碼有時候還要注意matlab的路徑問題,後來發現還是c++好用:
參考:http://c.biancheng.net/cpp/html/323.html
改了一下(批量的話,加個循環搞定):
#include<stdio.h>
#include <fcntl.h>
#include <string>
using namespace std;
int main(void)
{
string oldname, newname;
oldname = "D:/CASIA-WebFace/1/001.jpg";
newname= "D:/CASIA-WebFace/1/001---.jpg";
rename(oldname.c_str(), newname.c_str());
return 0;
}