Clear Filters
Clear Filters

Renaming folders

17 views (last 30 days)
ch basit
ch basit on 14 Apr 2011
Commented: matlab noob on 10 Apr 2019
I have many folder within a folder. I want to rename these folders in such a way that a string " 1-4 " is added to the end of all the folders name. And if any folder already has 1-4 at end leave that folder and change the names for others.
Example A1_ A2_ A3_ A4_1-4 A5_
Renamed folders A1_1-4 A2_1-4 A3_1-4 A4_1-4 A5_1-4

Answers (2)

Andrew Newell
Andrew Newell on 14 Apr 2011
  2 Comments
Walter Roberson
Walter Roberson on 14 Apr 2011
Does that work for folders (directories) ?
Andrew Newell
Andrew Newell on 14 Apr 2011
Yes.

Sign in to comment.


Jarrod Rivituso
Jarrod Rivituso on 15 Apr 2011
I had a problem just like this once and I found recursion to be very helpful (though you have to of course be careful to avoid infinite recursion).
Here's an example function I just created. It essentially does a depth-first recursion down the directory tree, changing directory names as it goes.
function changeDirNames(dirName)
dirResult = dir(dirName);
allDirs = dirResult([dirResult.isdir]);
allSubDirs = allDirs(3:end);
for i = 1:length(allSubDirs)
thisDir = allSubDirs(i);
thisDirName = thisDir.name;
if ~strcmp(thisDirName(end-2:end),'1-4')
oldname = fullfile(dirName,thisDir.name);
newname = [fullfile(dirName,thisDir.name) '1-4'];
movefile(oldname,newname);
end
changeDirNames(newname);
end
To call it, use something like this:
changeDirNames(pwd)
  2 Comments
ch basit
ch basit on 21 Apr 2011
Thanks a lot
matlab noob
matlab noob on 10 Apr 2019
If I would like to add 'Patient(1 spacing)' before the exsisting folder name, how do I rewrite the "(3:end)" or "if ~strcmp(thisDirName(end-2:end),'Patient')".
Thank you.

Sign in to comment.

Categories

Find more on Startup and Shutdown in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!