Automatisches Renaming / Verschieben von Dateien

Status
Für weitere Antworten geschlossen.

D-Nero

Benutzer
Mitglied seit
24. Mai 2014
Beiträge
66
Punkte für Reaktionen
0
Punkte
6
Hallo zusammen,

ich habe mir einen netzwerkfähigen Scanner (Brother ADS 1600w) zugelegt, der unsere Post zum NAS scannt.
Leider bietet dieser offenbar keine Möglichkeit die Scans dynamisch zu benennen.
Ich hätte gerne wahlweise eine Ordnerstruktur nach Jahr/Monat/Tag/scan01.... scanXXX.pdf oder die Datumskomponente im Dateinamen z.B. JJJJ-MM-TT_001.pdf.

Stattdessen gibt es nur blödsinnige statische Bezeichnungen, die um eine fortlaufende Nummer ergänzt werden.

Nun wäre meine Idee auf dem Scan-Eingangsverzeichnis einen Job laufen zu lassen, der jede eingehende / neue Datei in das von mir gewünschte Format umbenennt oder verschiebt.

Hat irgendwer eine Idee wie ich das lösen könnte?

Wäre für jeden Hinweis dankbar.

Viele Grüße
Daniel
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.147
Punkte für Reaktionen
906
Punkte
424
Ideen, viele.

Beschreib doch mal explizit welches der Ausgangszustand ist und welches der Zielzustand sein soll.
Dann kann man sehen wie man das angeht, oder ob davon etwas nicht geht.
Scripte sind geduldig .....

Also wie sehen die Dateien aus im Eingangsordner?
Die Dateien sollen dann in Unterordner, oder ist die gewünschte Struktur dann separat woanders gelagert?
Sollen die Eingangsdateien behalten werden, oder mit Umbenennen auch gleich verschoben werden?
Und was dir sonst noch für Randbedingungen einfallen ...
 

D-Nero

Benutzer
Mitglied seit
24. Mai 2014
Beiträge
66
Punkte für Reaktionen
0
Punkte
6
Hallo,

also eigentlich ist das recht simpel.
Ich habe einen Ordner "Posteingang".
Darin legt der Scanner seine Files als scan_0001.pdf, scan_0002.pdf, scan_0003.pdf, usw. usf. an.

Eigentlich würde es mir schon vollkommen reichen wenn ich ein Script hätte, was vorne am Dateinamen noch das Erstelldatum ergänzt.
Manuell (nach Inhalt) sortieren muss ich die Scans anschließend eh noch.

Habe auch schon https://github.com/stweiss/FileBasedMiniDMS gefunden. Aber es scheint mir, dass ich das ohne Docker nicht nutzen kann.
Auf meiner DS218 läuft kein Docker. :-(

Gruß
Daniel
 

himitsu

Benutzer
Sehr erfahren
Mitglied seit
22. Okt 2018
Beiträge
2.904
Punkte für Reaktionen
336
Punkte
123
Also gelesen hab ich es so:

der Drucker speichert so
Verzeichnis/irgendwasStatisches###.pdf

rauskommen soll es so, inkl. dem Erstellungs-/Änderungsdatum YYYY/MM/DD im Pfad oder Namen
und pro Zielverzeichnis eine fortlaufende Nummer ###.
VerzeichnisOderAnderesVerzeichnis/YYYY/MM/DD/scan###.pdf
oder
VerzeichnisOderAnderesVerzeichnis/YYYY-MM-DD_###.pdf

Also das Datum auslesen, beliebig als Variablen im Zielpfad einbauen und beim Kopieren noch eine laufende Nummer einfügen.
Ob irgendwasStatisches###.pdf und YYYY-MM-DD_###.pdf im selben Verzeichnis wäre auch egal, da über "irgendwasStatisches" filterbar und falls das Script nicht mehr geht, hätte man womöglich weiterhin alles im gleichen Verzeichnis.


Ob jetzt Kopieren oder Verschieben, macht keinen Unterschied, für die Erstellung des Zielnamens.
Vermutlich aber verschieben, denn wozu sollte die Datei dann doppelt rumliegen.



Zumindestens sowas würde ich mir auch mal hier bei uns wünschen, aber erstmal rausfinden warum unser UTAX-Monster öfters abstürzt, wenn alle im Büro sind.
(ganz früh geht drucken immer, aber mitten am Tag bleibt das Ding ab und an einfach hängen, egal ob heute vorher schon gedruckt wurde)
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.147
Punkte für Reaktionen
906
Punkte
424
Neben FBmDMS, da gibt es auch ein paar Threads im Forum hier (einfach mal suchen), und eventuell SynoGUI OCR oder so ähnlich (relativ neues community Paket, was gleich noch OCR mitmacht) und eventuell anderen "Dokument Management" Lösungen...

Rein das Erstellungsdatum auslesen und in den Namen schreiben, als Aufgabe im Aufgabenplaner
Code:
for f in /volume1/GemeinsamerOrdner/scan*.pdf
do
mv -n "$f" "/volume1/GemeinsamerOrdner/$(date -r "$f" +"%Y%m%d_%H%M%S").pdf"
done

Jetzt kommt es exakt darauf an wo die Dateien liegen und wo sie nachher landen sollen.
So wie oben gezeigt würden die Dateien einfach innerhalb des Ordners umbenannt und verschoben.
Bsp die Datei scan_0001.pdf ist nachher 20190208_115501.pdf
 

D-Nero

Benutzer
Mitglied seit
24. Mai 2014
Beiträge
66
Punkte für Reaktionen
0
Punkte
6
Das ist ja schon mal sehr cool.
Vielen Dank.

Wenn Du mir jetzt noch sagst wie ich den Originaldateinamen erhalte, dann bin ich vollends happy.
Also gewünschtes Ergebnis sollte sein: 20190208_115501_scan_0001.pdf

Vielen Dank und viele Grüße
Daniel
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.147
Punkte für Reaktionen
906
Punkte
424
Müsste ich nochmal genauer anschauen. Als Schnellschuss
Code:
cd /volume1/GemeinsamerOrdner
for f in scan*.pdf
do
mv -n "$f" "$(date -r "$f" +"%Y%m%d_%H%M%S")"$f".pdf"
done

Der Pfad musste herausgenommen werden, weil sonst sowas wie 20190208_115501/volume1/GemeinsamerOrdner/scan...pdf.pdf oder ähnlich heraus gekommen wäre bei der Benutzung des Platzhalters "f". Je nachdem wie die Zeile "for f in" lautet ist der Inhalt von f eben mal scan_0001.pdf oder /volume1/GemeinsamerOrdner/scan_0001.pdf
Das hätte sich also gebissen.

Wie gesagt, schöner und eleganter geht immer ...
 

D-Nero

Benutzer
Mitglied seit
24. Mai 2014
Beiträge
66
Punkte für Reaktionen
0
Punkte
6
Perfekt mit kleiner Änderung.
So schaut's aus:
Rich (BBCode):
cd /volume1/00_posteingang
for f in scan*.pdf
do
mv -n "$f" "$(date -r "$f" +"%Y-%m-%d_")"$f""
done

Vielen Dank und schönes Wochenende.
 

Fusion

Benutzer
Sehr erfahren
Mitglied seit
06. Apr 2013
Beiträge
14.147
Punkte für Reaktionen
906
Punkte
424
Ah ja, danke für die Korrektur. Die Dateiendung ist doppelt gemoppelt gewesen nach der Änderung.
 

Malek

Benutzer
Mitglied seit
09. Feb 2013
Beiträge
12
Punkte für Reaktionen
0
Punkte
1
Hallo

Bin neu auf dem Gebiet, wo trage ich den die Befehle ein , gibt es da eine Anleitung?

Gruß Malek
 
Zuletzt bearbeitet von einem Moderator:

NSFH

Benutzer
Sehr erfahren
Mitglied seit
09. Nov 2016
Beiträge
4.014
Punkte für Reaktionen
528
Punkte
194
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!