rename files using "system" function

5 vues (au cours des 30 derniers jours)
egesay
egesay le 3 Mar 2013
I want to rename my files using the "rename" command in "system" function like this:
oldname = 'Michael_Jackson-Beat_It.mp3"
newname = 'Michael Jackson - Beat It.mp3"
system(['rename ' oldname ' ' newname]);
I'm producing the "newname"s automatically from the oldnames and doing this in a huge for loop.
But it doesn't work when there's a space in the name strings, I think due to the "rename" command... How can I solve this problem?
thanks,

Réponses (2)

Azzi Abdelmalek
Azzi Abdelmalek le 3 Mar 2013
Modifié(e) : Azzi Abdelmalek le 3 Mar 2013
oldname = 'Michael_Jackson-Beat_It.mp3'
newname = 'Michael Jackson - Beat It.mp3'
copyfile(oldname,newname)
  1 commentaire
Walter Roberson
Walter Roberson le 3 Mar 2013
Modifié(e) : Jan le 4 Mar 2013
It would be movefile() rather than copyfile()

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 3 Mar 2013
Modifié(e) : Walter Roberson le 3 Mar 2013
system(['rename ''' oldname ''' ''' newname '''']);
  2 commentaires
Jan
Jan le 4 Mar 2013
Under Windows I'd prefer the double quotes:
system(['rename "' oldname '" "' newname '"']);
Walter Roberson
Walter Roberson le 4 Mar 2013
Under non-Windows systems, if the file names contained dollar-signs, the dollar-signs would trigger substitution (or other effects) inside of double-quotes but not inside of single-quotes. For example,
copy "foo.bar" "foo-$PWD"
would trigger PWD to be expanded rather than being treated as a literal string.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Matrix Indexing 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