大量のフォルダの2階層下にあるファイルを一気にコピーしたいです.
87 ビュー (過去 30 日間)
古いコメントを表示
階層が2つ以上違うフォルダへのアクセスの仕方を教えてください.
大量のフォルダにある2階層下のファイルを一気に 現在の階層にコピーしたいのですが...
1 件のコメント
Akira Agata
2018 年 1 月 14 日
例えばカレントフォルダを folder0 として、この下に大量のフォルダ(folder1, folder2,...,folderN) があり、さらにその下のフォルダ(例えばfolder1 の下の folder11,folder12,...など) 内のファイルをすべて folder0 にコピーしたいということでしょうか。
また、folder0 配下のファイルはすべてこれら2階層下のみ(つまり1階層下や3階層下にはファイルが存在しない)で、ファイル名の重複は無いと考えてよろしいでしょうか。
回答 (1 件)
mizuki
2018 年 1 月 15 日
編集済み: mizuki
2018 年 1 月 15 日
1つ上の階層にコマンドからアクセスするには、例えばフォルダ移動の場合は ../ を使って
>> cd ../
のようにできます。 ../../ ですと2つ上になります。コピーの場合は copyfile コマンドを使用します。 例えば2階層上のフォルダにある .m ファイル (../../*.m) を現在のフォルダ (./) にコピーするには以下のようなコマンドを使用します。
>> copyfile ../../*.m ./
1 件のコメント
Akira Agata
2018 年 1 月 20 日
階層の数に関係なく、例えばカレントフォルダ配下の全ての .m ファイルを現在のフォルダにコピーするのであれば、以下の方法で可能です。
fileList = dir('./**/*.m');
for kk = 1:numel(fileList)
copyfile(fullfile(fileList(kk).folder,fileList(kk).name),'./');
end
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!