1
我一直在使用以下shell bin/bash腳本作爲應用程序,我可以放置文件夾,並且它將更新修改日期文件夾以匹配該文件夾中最近修改的文件。更改多個文件夾的修改日期以匹配最近修改的文件的日期
for f in each "[email protected]"
do
echo "$f"
done
$HOME/setMod "[email protected]"
這會獲取文件夾名稱,然後將它傳遞給我的home文件夾中的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
但是,如果我同時掉在這多個文件夾,它不會工作,我無法弄清楚如何使它同時處理多個文件夾中的工作。
此外,我從Apple Support瞭解到,我的文件夾中有很多文件夾不斷更新mod date的原因是由於某些與Time Machine相關的進程,儘管我多年以來沒有觸及其中的某些文件。如果有人知道一種方法來防止這種情況發生,或者以某種方式自動定期更新文件夾修改日期以匹配其中最近修改過的文件的日期/時間,這將使我無需運行此步驟手動相當經常。
輝煌!我喜歡這個社區!這就像一個魅力。謝謝你,先生! –
有沒有一些方法可以修改它,以便它遞歸運行,深入到我放在應用程序上的任何文件夾中的子文件夾的最低級別,修改每個文件夾中的修改日期,然後繼續工作到頂層文件夾? 另外,這個腳本會忽略.DS_Store文件嗎?這些是由操作系統更新的文件,並導致文件夾的修改日期也被更新。我希望有一些方法可以簡單地防止這種情況發生。 再次感謝! –