Ich verwende meine Synology DS1515+ und DSM 6.2.2.
Bitte schauen Sie sich zunächst das folgende Bild an.
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