ファイルの名前を一括変更する
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
「0316_02」の名前のファイルの中に「SE00001」~「SE00030」という30個のファイルが入っており、さらにその中にそれぞれ9枚のDICOM画像が入っています。
「SE00001」~「SE00030」のファイル名をaaaからzzzまでアルファベット3桁で順番に名前を変更し、そのファイル内の画像には「aaa_01~aaa_09」のように「ファイル名_数字」のように名前変更したいです。
勉強不足で恐縮ですが、どうぞ宜しくお願いいたします。
0 commentaires
Réponse acceptée
Atsushi Ueno
le 28 Mar 2024
Modifié(e) : Atsushi Ueno
le 28 Mar 2024
fld = './0316_02/';
for k = 1:30
mkdir([fld sprintf('SE%05d/', k)]);
for n = 1:9
fclose(fopen([fld sprintf('SE%05d/', k) sprintf('DICOM%d.dcm', n)],'w'));
end
end
ls 0316_02 %「0316_02」の名前のファイルの中に「SE00001」~「SE00030」という30個のファイルが入っており
ls 0316_02/SE00012 % さらにその中にそれぞれ9枚のDICOM画像が入っています。
str = '0123456789ABCDEFGHIJKLMNOP';
rep = 'abcdefghijklmnopqrstuvwxyz';
for k = 1:30
[X, Y] = ismember(dec2base(k-1,26,3), str);
movefile([fld sprintf('SE%05d/', k)], [fld rep(Y)]);
dr = dir([fld rep(Y) '/*.dcm']);
for n = 1:length(dr)
movefile([dr(n).folder '/' dr(n).name], [dr(n).folder '/' rep(Y) '_' num2str(n,'%02d') '.dcm']);
end
end
ls 0316_02 %「SE00001」~「SE00030」のファイル名をaaaからzzzまでアルファベット3桁で順番に名前を変更し
ls 0316_02/abc % そのファイル内の画像には「aaa_01~aaa_09」のように「ファイル名_数字」のように名前変更したいです
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur インポート、エクスポートおよび変換 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!