ファイルの名前を一括変更する
4 ビュー (過去 30 日間)
古いコメントを表示
「0316_02」の名前のファイルの中に「SE00001」~「SE00030」という30個のファイルが入っており、さらにその中にそれぞれ9枚のDICOM画像が入っています。
「SE00001」~「SE00030」のファイル名をaaaからzzzまでアルファベット3桁で順番に名前を変更し、そのファイル内の画像には「aaa_01~aaa_09」のように「ファイル名_数字」のように名前変更したいです。
勉強不足で恐縮ですが、どうぞ宜しくお願いいたします。
0 件のコメント
採用された回答
Atsushi Ueno
2024 年 3 月 28 日
編集済み: Atsushi Ueno
2024 年 3 月 28 日
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」のように「ファイル名_数字」のように名前変更したいです
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で ビッグ データの処理 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!