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

104 vues (au cours des 30 derniers jours)
Qiong Ma
Qiong Ma le 5 Août 2020
Commenté : Qiong Ma le 6 Août 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 commentaire
Qiong Ma
Qiong Ma le 6 Août 2020
よく勉強になりました。大変ありがとうございました!

Connectez-vous pour commenter.

Réponse acceptée

Takumi
Takumi le 5 Août 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

Plus de réponses (0)

Catégories

En savoir plus sur 環境と設定 dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!