Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.

Daten per Batch, Shell oder VBA sortieren?

Hallo,

ich habe ein kleines Problem...

Und zwar habe ich ca 300 PDF Dokumente. Diese möchte ich durch ein Skript in Ordner sortieren lassen.

Diese Ordner sind bereits Vorhanden. Die namen der Ordner sind so aufgebaut: Vorname_Nachname_Nummer....

Die einzelen PDF Dokumente haben nur die "Nummer" als Name. Nun sollen das Skript das PDF Dokument anhand der Nummer in den jeweiligen Ordner Sortieren.

Hat jemand eine Lösung??

Mit freundliche Grüßen

5 Antworten

Bewertung
  • Anonym
    vor 5 Jahren

    ja

  • vor 5 Jahren

    shell

  • Anonym
    vor 5 Jahren

    Ja.

  • vor 5 Jahren

    Vorab: Wenn ich das richtig verstanden habe, hast du 300 Dateien und 300 Ordner, deren Namen zusätzlich zu den Nummern der Dateien vorne noch Namen haben. Und du willst jetzt diese 300 Dateien auf die 300 Ordner verteilen.

    Falls es das ist, was du willst:

    Das geht per Skript, ist aber nix für Anfänger. Ich würde vermutlich Powershell nehmen, weil das dem, was ich gewöhnt bin, angeblich am nächsten kommt und ich weiß, dass die PS reguläre Ausdrücke kann.

    Ich gebe dir ein paar Stichwörter, die grob umreissen, was nötig ist:

    - Ein Plan, was wie und in welcher Reihenfolge passieren muss (Ablaufplan), damit du überhaupt ein Skript schreiben kannst und dich nicht nach zwei Befehlen geistig verhedderst. Beispiel: 1. erste Datei anschauen 2. Nummer aus Dateinamen extrahieren 3. Ordnernamen durchgehen, ob diese Nummer irgendwo auftaucht 4. Falls entsprechender Ordner gefunden => Datei dorthin verschieben 5. nächste Datei

    - Berechtigungen für diese Schreiboperationen (hast du vermutlich, wenn's dein Rechner ist)

    - Reguläre Ausdrücke. Damit kannst du die Nummern in den Dateinamen raussuchen (bzw. die Endungen abschneiden) und die entsprechenden Ordner identifizieren - werden auch gern "Regex" abgekürzt.

    - Kenntnisse in der gewählten Skriptsprache (z.B. Powershell)

    Unter Linux ginge das womöglich sogar als Einzeiler in der Bash, aber bei Windows brauchst du vermutlich einige Zeilen mehr (kein Nachteil). Wichtig ist halt, dass du die Regex genau formulierst, damit du auch genau die Dinge findest, die du jeweils suchst. Sonst kann es dir passieren, dass die Dateien wild verteilt werden und du sie erst wieder zusammensuchen musst...

    Ich empfehle ein Testverzeichnis, in dem du erstmal probierst, bevor du das Skript dann auf die Echtdaten loslässt.

  • Wie finden Sie die Antworten? Melden Sie sich an, um über die Antwort abzustimmen.
  • vor 5 Jahren

    Ich befürchte ... keine automatisierte Lösung für dieses Problem. Der Hund ist in der Nomenklatur vergraben. Ich baue den Namen von Dokumenten wie folgt auf

    1. Bei eigenen Briefen kommt zu Anfang "xyz_ .."; damit ist klar: Ein Brief von mir mir

    2. Grundsätzlich das Datum an 1. (Fremddokumente) oder 2. Stelle (eigene Briefe) JJ.MM.TT. Damit erhalte ich ich eine automatische Sortierung nach Datum zusätzlich zum Namen.

    3. eine festgelegte 3-5stellige Vorgangs- bzw. Verwaltungsnummer; z.B. HASPA, oder die Verwalternummer der Hausverwaltung oder .. oder

    4. Ein festgelegtes 3er-Kürzel für den unmittelbaren Empfänger o.ä., von dem aber nicht abgewichen werden darf!

    Also könnte z.B. ein Schreiben von mir an eine Hausverwaltung das Kürzel "XYZ_160309_321_ABR_2014... beinhalten. Was dann übersetzt bedeutet:

    Brief von mir am 09.03.2016 an eine Hausverwaltung, die das betreffende Objekt unter der Verwalternummer 321 führt wg. der Abrechnung 2014.

    Und nun zum Tricks beim Script:

    Ich lasse nicht nach "enthält: 321" sortieren bzw. verschieben (Wer weiss, wo dass noch drin steht), sonder nach "_321_", was wohl so nur im Titel auftaucht. So wird jeder Schriftverkehr klar & eindeutig zugeordnet.

    Man muss sich aber bei dieser Methode auch immer stringent an seine eigenen Vorgaben halten, d.h., Briefe vom Finanzamt werden immer unter "_FAMT_" abgespeichert, nicht wahlweise "FAmt", "Schei**Finanzamt" o.ä.

    Bei der Sortierung durch Scripte auch immer in der Namensgebung Groß- und Kleinschreibung beachten; Scripte sind da viel empfindlicher als "Suchen nach ..."

Haben Sie noch Fragen? Jetzt beantworten lassen.