【Finder】フォルダの結合について
フォルダをoptionキー押しながらドラッグ&ドロップして結合する際、同名のファイルの変更日が結合先のファイルよりも古い場合上書きできません。ファイルの変更日関係なく結合元のファイルに置き換えるような方法などあるのでしょうか?
MacBook Pro with Retina display, Mac OS X (10.1.x)
フォルダをoptionキー押しながらドラッグ&ドロップして結合する際、同名のファイルの変更日が結合先のファイルよりも古い場合上書きできません。ファイルの変更日関係なく結合元のファイルに置き換えるような方法などあるのでしょうか?
MacBook Pro with Retina display, Mac OS X (10.1.x)
そういうことなら、フォルダー内のファイルを全部選択して、新しいフォルダー(結合先のフォルダ)に放り込めば良いのでは?これなら、全て置き換わります。
もしターミナルを使っても良いのなら、単にcpとするだけです。
cp /path/to/target_folder /path/to/source_folder/*
最後の*でフォルダー内のすべてのファイルを選択したことになります。
リモートサーバでscpが使えるなら、scpとすればいきなりリモートサーバに投げ込むことができます。
すみません。間違ってます。
誤 cp /path/to/target_folder /path/to/source_folder/*
正 cp /path/to/source_folder/* /path/to/target_folder
です。
すぐ訂正しようとしたら、メンテナンスで訂正できませんでした。
どうでもいいことかもしれませんが、cpよりdittoの方がいいと思います。
> 同名のファイルの変更日が結合先のファイルよりも古い場合上書きできません
結合って、ファイルに関しては単に置き換えるだけだから、おっしゃるような状況なら、いらない方を捨ててしまえば良いだけでは?
ご回答ありがとうございます。
おっしゃるとおりなのですがwebサイトディレクトリ丸々結合させるときにどのファイルを修正したのか等調べていらないファイルを捨てて・・としてるととても時間がかかるので一括やる方法はないか・・と思った次第でございました。
修正したのなら変更日新しくなって綺麗に置き換わるのが普通だと思うのですが、sourcetreeを使ってバージョン管理してるとブランチ切ったタイミングで元ファイルの変更日が更新され綺麗にマージできないので・・
ファイル数が少なければ上述のやり方で問題ないのですがファイル数が数百となって来ると手間なのでwindows、もしくはサーバーにあげるときのようなやり方がfinder上でもできないか模索しているところでございました。
ちょっとした補足をさせてください。
Finderでのコピーとは違い「cp」及び「scp」で作成された複製は、変更日がコピーした日時に、アクセス権限はデフォルトの値になります。(新規作成と同じ扱い)
もし、コピー元と同じ変更日やアクセス権限にしたければ「-p」オプションをつける必要があります。
また、ディレクトリ内に含まれるファイルも対象にする場合は明示的に「-R」オプションが必要です。
cp -p /path/to/source_folder/* /path/to/target_folder
cp -pR /path/to/source_folder/* /path/to/target_folder
など。
ちなみにフォルダのコピー:
cp -Rp /path/to/source_folder /path/to/target_folder
の場合、以下のような違いもあります。
また、フォルダをコピーする際にコピー先に同盟のフォルダがある場合に、Finderではフォルダごと置き換えられますが、cp/scpではコピー元に含まれるファイルのみが追加され、コピー先で置き換えられることはあってもコピー元にないファイルがコピー先から削除されることはありません。
どちらが良いということでありませんが、微妙な違いがあるのでご注意を。
# cpやscpなど、ターミナルで使うコマンドのほとんどは「man コマンド名」で詳しい使い方を確認できます。(右クリックから「manページを開く」でも可)
以上、ご参考まで。
hohokihai さんによる書き込み:
どうでもいいことかもしれませんが、cpよりdittoの方がいいと思います。
そうですね。このトピックの話ならどちらでも問題無い気がしますね。
【Finder】フォルダの結合について