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