去除 Synology Photos 的文件存儲路徑年月日問題(通過腳本批量移動文件)
操作重要數據時,請備份好數據
移動文件腳本
flatten_dirs.sh
#!/bin/bash
# 請根據您的實際情況修改下面的兩個變量
# 1. 源目錄:包含 '年' 文件夾的頂級目錄
# 根據您的截圖,這裏應該是 Camera 文件夾的完整路徑
SOURCE_DIR="/volume1/homes/zgcwkj/Photos/PhotoLibrary/DCIM/Screenshots"
# 2. 目標目錄:您希望將所有文件移動到哪裏
# 這個目錄如果不存在,腳本會自動創建
DEST_DIR="/volume1/homes/zgcwkj/Photos/PhotoLibrary/DCIM/Screenshots2"
# 特別說明:源目錄和目標目錄不要相同
# 檢查源目錄是否存在
if [ ! -d "$SOURCE_DIR" ]; then
echo "錯誤:源目錄 '$SOURCE_DIR' 不存在。"
exit 1
fi
# 創建目標目錄(如果它還不存在的話)
mkdir -p "$DEST_DIR"
echo "所有文件將被移動到: $DEST_DIR"
echo "---"
# 查找所有文件並開始處理
find "$SOURCE_DIR" -type f | while read -r file_path; do
# 獲取不包含路徑的原始文件名
# 例如:"DSC00224.JPG"
base_name=$(basename "$file_path")
# 構建完整的目標路徑
dest_file_path="$DEST_DIR/$base_name"
# 【核心安全檢查】
# 檢查目標文件夾中是否已存在同名文件
if [ -e "$dest_file_path" ]; then
# 如果存在,則打印警告並跳過此文件,防止覆蓋
echo "警告:跳過 '$file_path',因為目標位置已存在同名文件 '$base_name'"
continue # 繼續處理下一個文件
fi
# --- 核心操作:移動文件 ---
#
# 【演練模式】默認啟用。只打印命令,不執行。
#echo "准備移動: '$file_path' -> '$dest_file_path'"
# 【執行模式】確認演練結果無誤後,注釋掉上面的 echo 命令,
# 並取消下面 mv 命令的注釋,然後重新運行腳本。
#mv "$file_path" "$dest_file_path"
done
echo "---"
echo "文件移動(演練)完成。"
echo刪除緩存腳本
cleanup_synology_files.sh
#!/bin/bash
# 請根據您的實際情況修改下面的變量
# 要清理的目錄
SOURCE_DIR="/volume1/homes/zgcwkj/Photos/PhotoLibrary"
# 檢查源目錄是否存在
if [ ! -d "$SOURCE_DIR" ]; then
echo "錯誤:源目錄 '$SOURCE_DIR' 不存在。"
exit 1
fi
echo "將在目錄 '$SOURCE_DIR' 中查找並刪除所有名稱含有 '@SynoEAStream' 的文件和文件夾。"
echo "---"
# 核心操作:查找並刪除
# 【演練模式】默認啟用。只打印將要刪除的文件/文件夾列表,不執行任何操作。
echo "【演練模式】以下文件或文件夾將被刪除:"
find "$SOURCE_DIR" -name "*@SynoEAStream*" -print
echo "---"
echo "演練完成。請檢查以上列表是否正確。"
# # 【執行模式】確認演練結果無誤後,啟用下面的代碼來真正執行刪除。
# # 注意:刪除操作是不可逆的!
# echo "---"
# echo "【執行模式】正在刪除,請稍候..."
# # -exec rm -rf {} + 是一個安全且高效的刪除方式,可以處理文件和文件夾
# find "$SOURCE_DIR" -name "*@SynoEAStream*" -exec rm -rf {} +
# echo "刪除操作完成。"人臉識別補丁
倉庫
https://github.com/jinlife/Synology_Photos_Face_Patch
命令
wget https://github.com/jinlife/Synology_Photos_Face_Patch/releases/latest/download/libsynophoto-plugin-platform.so -O /var/packages/SynologyPhotos/target/usr/lib/libsynophoto-plugin-platform.so && synopkgctl stop SynologyPhotos && synopkgctl start SynologyPhotos版權屬於:zgcwkj
本文鏈接:https://www.zgcwkj.com/archives/259.html
轉載聲明:請注明本文章的標題及內容的出處和聲明,謝謝
評論已關閉