Thread: [Developer Feedback required] Frage zu Packagizer Rules / Paketverwalterregeln - PROBLEM
View Single Post
  #30  
Old 24.09.2022, 12:42
StefanM's Avatar
StefanM StefanM is offline
JD VIP
 
Join Date: Oct 2020
Posts: 485
Default

Quote:
Originally Posted by pspzockerscene View Post
Ich glaube aktuell besteht einfach Unklarheit darüber was du genau erreichen möchtest, bzw was dir fehlt oder wobei du Hilfe brauchst
vorab:
  • Filebot: Den Tipp greife ich dankend auf!
  • SpeedCommander besitzt übrigens auch hervorragende Renaming-Funktionen.
  • RenameMan (extrabit.com) ist auch sehr gut (Deutsche GUI ist von mir)
  • RoboBasket (robobasket.com)
Mein Anliegen zum besseren Verständnis, nochmal zusammengefasst: (Fragestellung in rot am Ende)

Ich möchte Funktionalitäten des Packagizers bei bereits heruntergeladenen, auf der Festplatte befindlichen Dateien nutzen bzw. auf anderem Wege umsetzen.

Konkret geht es in meinem Fall darum, Dateien in "dazuzgehörigen" bzw. passenden Ordnern abzulegen (zu sortieren).

Dieses "Sortieren" soll ausschließlich bei Dateien mit Source-URLs erfolgen, die einen bestimmten String, z.B. 'Couchpotato' enthalten.

Die zu sortierenden Dateien sind kreuz und quer in Ordnern verteilt, die als Namen das jeweilige Downloaddatum haben:
Code:
Download Directory: <jd:simpledate:yyyy-MM-dd>
Die Source-URLs für meinen Anwendungsfall möchte ich wie folgt beschreiben.
Code:
String1/String2/String3
  • String1: Domainname etc. Muss den Begriff 'Couchpotato' enthalten
  • String2: Soll als Ordnername verwendet werden. Nehmen wir an, es sind Städtenamen
  • String3: Dateiname

Mithilfe von JD's 'Copy Information'-Befehl kopiere ich zunächst sämtliche erfolgreichen Download-Infos in eine Excel-Tabelle mit Tab als Separator.

Mit Excel-Filtern, filtere ich die Zeilen heraus, die in der Source-URL-Spalte den Begriff 'Couchpotato' enthalten.

Mit Excel-Formeln und der Excel-Funktion 'Text in Spalten' erreiche ich, dass String2 (der Städtename) separat in einer Spalte steht.

Nun kann ich - wiederum mithilfe einer Excelformel - in einer weiteren Spalte die Zeilen erstellen, die ich für eine Batchdatei zum "Sortieren" benötige:

Code:
md <String2> & move <vollständiger Pfad der zu verschiebenden Datei auf der Platte> <String2>
Im Ergebnis würde das dann so aussehen:
Code:
md Hamburg & move d:\JD\2022-09-01\001.jpg Hamburg
md Bonn & move d:\JD\2022-09-07\005.jpg Bonn
md Hannover & move d:\JD\2022-08-23\035.jpg Hannover
md Hamburg & move d:\JD\2022-09-01\abc.png Hamburg
…
Zwei Probleme:
  1. md wird sehr oft einen bereits existierenden Ordner erstellen wollen. Es gibt eine Fehlermeldung, aber die Ausführung der Batchdatei wird nicht gestoppt: Also nur unschön (unprofessionell).
  2. Wenn ein Dateiname - z.B. 035.jpg im Ordner Hannover - schon vorhanden ist, dann stoppt die Ausführung mit der Frage, was man machen möchte und läuft nach Beantwortung auch nicht weiter: => Show Stopper
Und hier suche ich eine einfache Lösung, die wiederum genau das macht, was JD macht:

Bei bereits vorhandenen Dateinamen automatisch einen Zähler anhängen:
  • Ist 035.jpg bereits vorhanden, wird versucht die Datei beim Verschieben in 035[1].jpg umzubenennen.
  • Ist 035[1].jpg auch bereits vorhanden, wird versucht die Datei beim Verschieben in 035[2].jpg umzubenennen.
Bis es keinen Namens-Konflikt mehr gibt.

Und dafür suche ich eine einfache Lösung.

Ich kann mithilfe der Record-Funktion Excel-Scripte erstellen und auch anpassen. Aber Scripte für den Event-Scripter kann ich leider nicht erstellen :-(

Wenn ihr mir folgende Befehlszeile entsprechend ergänzen bzw. modifizieren könntet, wäre ich dafür sehr dankbar:
Code:
md Hannover & move d:\JD\2022-08-23\035.jpg Hannover

Last edited by StefanM; 24.09.2022 at 12:47.
Reply With Quote