rename files using "system" function

3 ビュー (過去 30 日間)
egesay
egesay 2013 年 3 月 3 日
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,

回答 (2 件)

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 3 月 3 日
編集済み: Azzi Abdelmalek 2013 年 3 月 3 日
oldname = 'Michael_Jackson-Beat_It.mp3'
newname = 'Michael Jackson - Beat It.mp3'
copyfile(oldname,newname)
  1 件のコメント
Walter Roberson
Walter Roberson 2013 年 3 月 3 日
編集済み: Jan 2013 年 3 月 4 日
It would be movefile() rather than copyfile()

サインインしてコメントする。


Walter Roberson
Walter Roberson 2013 年 3 月 3 日
編集済み: Walter Roberson 2013 年 3 月 3 日
system(['rename ''' oldname ''' ''' newname '''']);
  2 件のコメント
Jan
Jan 2013 年 3 月 4 日
Under Windows I'd prefer the double quotes:
system(['rename "' oldname '" "' newname '"']);
Walter Roberson
Walter Roberson 2013 年 3 月 4 日
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.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeMatrix Indexing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by