So überprüfen Sie, ob sich Dateien im Ordner A auch im Ordner B befinden

So überprüfen Sie, ob sich Dateien im Ordner A auch im Ordner B befinden

Ich verwende meine Synology DS1515+ und DSM 6.2.2.

Bitte schauen Sie sich zunächst das folgende Bild an.

Bildbeschreibung hier eingeben

Zuerst lade ich einige Videodateien herunter. Beispiele für Dateinamen sind wie oben.

Und der zweite Schritt ist das Kopieren von Dateien in/volume1/Daily/

Ich habe es bisher bereits gelöst und es gibt kein Problem.

Ich möchte den letzten Schritt lösen.

Nach dem Kopieren der Dateien nach /volume1/Daily/möchte ich diese Videodateien nach verschieben/volume1/Temp/

Ich denke, diese Reihenfolge ist wichtig, weil

Wenn diese Dateien vor dem Kopieren verschoben werden /volume1/Temp/, kann der Kopiervorgang nicht ausgeführt werden.

Daher denke ich, dass vor dem Verschieben nach überprüft werden sollte, ob bereits Dateien nach kopiert wurden /volume1/Daily/(unabhängig davon, ob sich die Dateien im Verzeichnis befinden oder nicht) ./volume1/Daily//volume1/Temp/

Abschließend,

Wenn sich die Videodateien in befinden /volume1/Daily/, möchte ich die Dateien nach verschieben /volume1/Temp/.

Können Sie helfen oder erklären, wie das geht?

Der Befehl wird nur auf der Synology ausgeführt. (um den Taskplaner in der Systemsteuerung zu verwenden)

Wenn Sie es mir erklären, geben Sie in meinem Fall bitte den Verzeichnispfad an, wie oben.

(weil ich den von Ihnen empfohlenen Code aufgrund mangelnden Verständnisses nicht anwenden kann. Ich bitte um Entschuldigung)

Antwort1

Ich glaube, das würde helfen;

test -e /volume1/Daily/<file-name> && mv /volume1/Daily/<file-name> /volume1/Temp/<file-name>  

Antwort2

Ich habe es wie folgt gelöst:

find "/volume1/Download/" -type f -printf "%f\n" | while read filename
do
if [ -f "/volume1/Daily/$filename" ] ; then
   mv "/volume1/Download/$filename" "/volume1/Temp/"
else
   echo "skip"
fi
done

verwandte Informationen