フォルダー内のファイル名を一括して変更する方法

「現在のフォルダー」に
13'47-14'27,
14'27-15'07,
20'27-21'47,
30'27-31'07
33'07-33'47
63'47-64'50
のように時間別にラベリングしたファイルがあるのですが,このファイル名を一括して
k_01 , k_02 , k_03 ,........のように変更したいと考えています。
良い方法ありませんか?

댓글 수: 2

Kojiro Saito
Kojiro Saito 2022년 8월 5일
ラベリングしたファイルの拡張子は.csvや.datなどでしょうか?
Tadafumi Sugi
Tadafumi Sugi 2022년 8월 5일
コメントありがとうございます。
.matです。

댓글을 달려면 로그인하십시오.

답변 (1개)

Kojiro Saito
Kojiro Saito 2022년 8월 5일

2 개 추천

movefileでファイル名の変更ができます。
シンプルにやるならdirで現在のフォルダにあるmatファイル一覧を取ってきてmovefileでリネームする方法です。
list = dir('*.mat');
for n=1:height(list)
movefile(list(n).name, sprintf('k_%02d.mat', n)) % 02dは01や09にするため
end
ただ、5'47-6'27のような分が一桁のものや、110'47-111'27のように三桁以上のものがあると文字列の順番が数字の順番と変わってしまうので、それも考慮するとtableに変換してsortrowsで並べ替えたほうが確実かと。
list = dir('*.mat');
listT = struct2table(list);
listT.number = str2double(extractBefore(listT.name, "'"));
listT = sortrows(listT, 'number');
for n=1:height(listT)
movefile(listT.name{n}, sprintf('k_%02d.mat', n))
end

댓글 수: 1

Tadafumi Sugi
Tadafumi Sugi 2022년 8월 7일
ありがとうございます!
勉強になりました。

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 グラフィックス オブジェクトの識別에 대해 자세히 알아보기

제품

릴리스

R2021a

질문:

2022년 8월 5일

댓글:

2022년 8월 7일

Community Treasure Hunt

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

Start Hunting!