diff --git a/README.md b/README.md new file mode 100644 index 0000000..1f2082d --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +# SelectCopyTree + +ファイルツリーを再帰的に探索して指定ファイルのみをコピーするソフトウェア + +## 概要 + +このソフトウェアは、指定されたファイルツリーを再帰的に探索し、特定のファイルのみをコピーするためのツールです。指定されたディレクトリ以下のすべてのファイルとサブディレクトリを検索し、指定されたファイル名や拡張子に一致するファイルをコピーします。 + +## 使い方 + +このソフトウェアを使用するには、以下の手順に従ってください。 + +1. コピー元,コピー先のディレクトリのパスとコピーするファイル名を指定します。 +2. ソフトウェアは、指定されたディレクトリ以下のすべてのファイルとサブディレクトリを検索し、指定されたファイル名または拡張子に一致するファイルをコピーします。 +3. コピーされたファイルは、指定された出力ディレクトリに保存されます。 + +## 例 + +```bash +$ pip install -r requirements.txt +$ python SelectCopyTree.py +``` + +## 注意事項 + +- このソフトウェアは、指定されたディレクトリ以下のすべてのファイルとサブディレクトリを検索します。大量のファイルがある場合、処理に時間がかかる可能性があります。 +- コピーされたファイルは、指定された出力ディレクトリに保存されます。出力ディレクトリが存在しない場合、自動的に作成されます。 diff --git a/SelectCopyTree.py b/SelectCopyTree.py new file mode 100644 index 0000000..9a6004b --- /dev/null +++ b/SelectCopyTree.py @@ -0,0 +1,19 @@ +import os +import shutil +from re import T + +copy_from = r"D:\usr\DL\出張中使用ファイル\tongue" +copy_to = r"D:\usr\DL\copy" +copy_files = ["Shot0001.bmp", "Shot0002.bmp"] + + +def copyf(ffrom, fto): + if os.path.basename(ffrom) in copy_files: + print(ffrom) + print("->", fto) + shutil.copy2(ffrom, fto) + + +if os.path.exists(copy_to): + shutil.rmtree(copy_to) +shutil.copytree(copy_from, copy_to, copy_function=copyf)