cp -rは特定のフォルダをコピーせず、そのフォルダの内容のみをコピーします。

cp -rは特定のフォルダをコピーせず、そのフォルダの内容のみをコピーします。

次のようなフォルダ構造があります。

a/
 |b/
   | f1
   | f2
 |c/
   | f3
   | f4
 |d/
   | f5
   | f6

そのうち、、、およびにbc基本dファイルとサブディレクトリを含めることができます。次に、ターゲットフォルダeが存在するターゲットフォルダがありますecp -r a/c e/orを実行すると、cp -r a/d e/ c期待どおりに内部フォルダ構造dにコピーされます。eしかし、実行してみるとcp -r a/b e/結果は同じではありません。a/bコンテンツ自体はコピーされず、コンテンツのみコピーされますb。実行コマンドとほぼ同じです。cp -r a/b/* e/

lsまたは、あるフォルダには特別な内容はありませんfile。これはcandと同じ権限を持ち、d実行時にディレクトリとして表示されますfile

何が起こっているのかをデバッグする方法はありますか?最初は、Pythonでコピーを実行するために子プロセスを使用する問題に直面しました。

import subprocess
import pathlib

for folder in pathlib.Path("a/").iterdir():
    if folder.is_dir():
        subprocess.run(["cp", "-r", str(folder), "e/"])

cp -r a/b e/その後、コマンドラインからコマンドを実行してみましたが、同じ問題が発生しました。

ベストアンサー1

明らかに、コンピュータはX秒ごとに空のフォルダを削除するサービスを実行しています。したがって、bその後に発生したコピーはe削除されました。上記の動作が発生します。

おすすめ記事