Renaming folders

13 vues (au cours des 30 derniers jours)
ch basit
ch basit le 14 Avr 2011
Commenté : matlab noob le 10 Avr 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

Réponses (2)

Andrew Newell
Andrew Newell le 14 Avr 2011
  2 commentaires
Walter Roberson
Walter Roberson le 14 Avr 2011
Does that work for folders (directories) ?
Andrew Newell
Andrew Newell le 14 Avr 2011
Yes.

Connectez-vous pour commenter.


Jarrod Rivituso
Jarrod Rivituso le 15 Avr 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 commentaires
ch basit
ch basit le 21 Avr 2011
Thanks a lot
matlab noob
matlab noob le 10 Avr 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.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by