私はフォルダを削除できるアプリケーションとして以下のシェルbin/bashスクリプトを使用していました。そのフォルダ内の最も最近変更されたファイルと一致するようにします。複数のフォルダのうち、最近変更されたファイルのものと一致するように変更された日付を変更しました
for f in each "[email protected]"
do
echo "$f"
done
$HOME/setMod "[email protected]"
これはフォルダ名を取得し、それをホームフォルダのこのsetModスクリプトに渡します。私は一度それを複数のフォルダをドロップした場合
#!/bin/bash
# Check that exactly one parameter has been specified - the directory
if [ $# -eq 1 ]; then
# Go to that directory or give up and die
cd "$1" || exit 1
# Get name of newest file
newest=$(stat -f "%m:%N" * | sort -rn | head -1 | cut -f2 -d:)
# Set modification date of folder to match
touch -r "$newest" .
fi
しかし、それは動作しません、と私はそれが一度に複数のフォルダを動作させる方法を見つけ出すことはできません。
また、アップルサポートから、私のフォルダの多くが更新日時を更新し続けている理由は、タイムマシンに関連した処理が原因であることが分かっています。誰かがこれが起こらないようにする方法を知っている場合や、最近更新されたファイルの日付/時刻と一致するようにフォルダの修正日を何らかの形で自動的に定期的に更新すると、この手順を実行する必要がなくなります手動できれいに定期的に。
ブリリアント!私はこのコミュニティが大好き!それは魅力のように機能します。ありがとうございます! –
これを変更して再帰的に実行する方法はありますか?アプリケーションにドロップしたフォルダのサブフォルダの最下位レベルまで掘り下げ、それぞれの修正日を修正してから作業を進めますトップレベルのフォルダに? また、このスクリプトは.DS_Storeファイルを無視しますか?これは、OSによって更新されるファイルであり、フォルダの変更日も更新されます。これが起こらないようにする方法がいくつかあるといいですね。 もう一度おねがいします! –