ファイルの名前を一括変更する
4 views (last 30 days)
Show older comments
「0316_02」の名前のファイルの中に「SE00001」~「SE00030」という30個のファイルが入っており、さらにその中にそれぞれ9枚のDICOM画像が入っています。
「SE00001」~「SE00030」のファイル名をaaaからzzzまでアルファベット3桁で順番に名前を変更し、そのファイル内の画像には「aaa_01~aaa_09」のように「ファイル名_数字」のように名前変更したいです。
勉強不足で恐縮ですが、どうぞ宜しくお願いいたします。
0 Comments
Accepted Answer
Atsushi Ueno
on 28 Mar 2024
Edited: Atsushi Ueno
on 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」のように「ファイル名_数字」のように名前変更したいです
More Answers (0)
See Also
Categories
Find more on ビッグ データの処理 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!