ファイルの名前 一気に変更

111 Ansichten (letzte 30 Tage)
Qiong Ma
Qiong Ma am 5 Aug. 2020
Kommentiert: Qiong Ma am 6 Aug. 2020
例えば、以下の名前を持つファイルがあります。どう一気にその真ん中の"r10"を外しますか。
VOI_A_r10p0001.mask
VOI_A_r10p0001_1.mat
VOI_A_r10p0001_2.mat
VOI_A_r10p0001_1_eig.mat
VOI_A_r10p0001_2_eig.mat
もう一種類の名前は以下のようになっています。どう一気に"A_"の後ろに"p0001_"を加えますか。
VOI_A.mask
VOI_A_1.mat
VOI_A_2.mat
VOI_A_1_eig.mat
VOI_A_2_eig.mat
どうぞよろしくお願い致します。
  1 Kommentar
Qiong Ma
Qiong Ma am 6 Aug. 2020
よく勉強になりました。大変ありがとうございました!

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Takumi
Takumi am 5 Aug. 2020
ファイル名を変更するにはmovefile関数を使います.また指定文字列を削除するにはerase関数が使えます.
以下のファイル
VOI_A_r10p0001.mask
VOI_A_r10p0001_1.mat
VOI_A_r10p0001_2.mat
VOI_A_r10p0001_1_eig.mat
VOI_A_r10p0001_2_eig.mat
からr10を取り除くには次のようにすると良いでしょう.
fileList = dir('VOI_A_*'); % VOI_A_から始まるファイル取得
for i=1:length(fileList)
str = fileList(i).name; % ファイル名
TF = contains(str,"r10"); % r10を含んでいるかどうか
if TF
newStr = erase(str,"r10"); % r10を取り除く
movefile(str,newStr); % ファイル名変更
end
end
また以下のファイル
VOI_A.mask
VOI_A_1.mat
VOI_A_2.mat
VOI_A_1_eig.mat
VOI_A_2_eig.mat
のA_の後ろにp0001_を加えるにはinsertAfter関数が使えます.
fileList = dir('VOI_A_*'); % VOI_A_から始まるファイル取得
for i=1:length(fileList)
str = fileList(i).name;
TF = contains(str,"p0001_"); % p0001_がすでに含まれているかどうか
if ~TF
newStr = insertAfter(str,"A_","p0001_")
movefile(str,newStr)
end
end

Weitere Antworten (0)

Kategorien

Mehr zu 環境と設定 finden Sie in Help Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!