#1
|
||||
|
||||
Frage zu Packagizer Rules / Paketverwalterregeln - PROBLEM
Eine an sich einfache Aufgabenstellung, die ich aber nicht umgesetzt bekomme:
Ich möchte, dass alle Downloads jeweils in einen Ordner mit dem jeweiligen Tagesdatum gespeichert werden. Dies funktioniert mit den Einstellungen gemäß Anlage. So weit so gut. Nun aber möchte ich zusätzlich eine weitere Packagizer-Rule erstellen, die Dateien aus URLs die den String blogspot.com enthalten, abweichend von der obigen Regel in einen anderen Ordner kopieren. Beispiel für diese URLs: STRING1.blogspot.com/STRING2 Alle Dateien, aus dieser URL sollen in den Ordner J:\JD\STRING2\2022-09-16 gespeichert werden. Das Datum soll das jeweilige Tagesdatum sein - wie oben. Wie mache ich das? Sobald ich einmal eine Blogspot-Url in den LinkGrabber kopiere, übernimmt JD den Pfad J:\JD\STRING2\2022-09-16 für alle weiteren Downloads, unabhängig davon, ob die URL blogspot.com enthält oder nicht. Wie mache ich es richtig? Bzgl. der korrekten Einstellungen in 'Analyze and Add Links' bitte ich ebenfalls um Nachhilfe. Der Speicherort wird wie im Screenshot automatisch eingetragen. Er wird automatisch geändert, wenn meine zweite Packagizer-Rule greift. Und bleibt dann (für alle Zeit) unverändert - also falsch. Und was ist, wenn ich mehrere URLs auf einmal in den LinkGrabber kopiere: Einige mit blogspot und einige ohne blogspot. Dann kann je der Pfadeintrag in 'Analyze and Add Links' nicht beide Pfade abbilden. Last edited by StefanM; 16.09.2022 at 15:12. |
#2
|
||||
|
||||
@StefanM:
Dein Default DownloadOrdner sollte kein Platzhalter beinhalten, es sei denn dies ist so gewünscht. Wenn du die Links via AddLinks Dialog hinzufügst und die Checkbox bei "Information overwrites..." gesetzt hast, dann wird der DownloadOrdner so gesetzt wie du es im AddLinks Dialog definiert hast. Egal was evtl. Regeln am DownloadOrdner ändern, es wird das gesetzt was du im Dialog angegeben hast.
__________________
JD-Dev & Server-Admin |
#3
|
||||
|
||||
Wie genau sieht die Regel denn aus? Ich vermute hier einen Fehler in der Regel, denn nur wenn die sourceURL blogspot.com enthält, sollte diese auch greifen. Also deine Regel für J:\JD\STRING2\2022-09-16 muss natürlich eine Bedingung haben welche auf blogsport.com URLs prüft.
__________________
JD-Dev & Server-Admin |
#4
|
||||
|
||||
Ich kann immer am besten helfen wenn du konkrete/echte Links gibst und entweder die Regel exportiest oder mind einen Screenshot gibst, dann kann ich das direkt nachstellen und entsprechend den Fehler erklären oder die Lösung bieten.
__________________
JD-Dev & Server-Admin |
#5
|
||||
|
||||
Quote:
Was meinst du mit "im Dialog angegeben"? Das was hinter der Diskette steht? Das habe ich nicht eingegeben. Das schreibt JD von selbst dorthin. Normalerweise arbeite ich mit nur einer Rule. Die aus dem Screenshot. Fangen wir mal damit an: Die drei Screenshots: Sollte ich da etwas anderes machen? Aber nochmal: Das was hinter der Diskette steht, trägt JD dort ein - nehme an als Kopie aus der Rule. |
#6
|
||||
|
||||
Quote:
LinkgrabberSettings.uselastdownloaddestinationasdefault Und dieser Ordner wird übernommen wenn die genannte Checkbox gesetzt ist
__________________
JD-Dev & Server-Admin |
#7
|
||||
|
||||
Die Regel hat halt keinerlei Bedingung und greift somit auf alle Links. Jetzt willst du eine Regel welche für blogspot anders funktioniert und entsprechend sollte diese Regel in sourceURL contains auf die Domain prüfen und dir deinen String1 und String2 als Platzhalter rausziehen.
Diese Regel dann UNTER die Regel aus dem Screenshot. Somit wird das Datum für alle gesetzt aber für blogspot Links greift dann nochmals diese spezielle Regel und setzt einen alternativen Namen/Ordner
__________________
JD-Dev & Server-Admin |
#8
|
||||
|
||||
Quote:
Dann zum komplizierteren Teil. Ich möchte weitere Rules definieren. Erstmal ganz allgemein. Generell soll meine Standard-Rule (Tages-Datum als Package-Name und Downloadordner greifen. Dazu schreibe ich also j:\JD als Standardordner und lasse die Rule so, wie im Screenshot? Zusätzlich möchte ich nun weitere Rules nutzen, die bei bestimmte URL-Bestandteilen, in einen anderen Ordner speichern. Nehmen wir als Beispiel: Ich will Dateien, die aus URLs stammen, die das Wort String1 beinhalten in den Ordner J:\JD\String1\Tages-Datum speichern und String1 als Package-Name verwenden. Wie mache ich das? Und geht das auch gemischt? Als URLs mit und ohne den String1 im LinkGrabber. Kann ich die dann richtig einsortieren lassen? |
#9
|
||||
|
||||
@StefanM: Kannst du mir konkrete Beispiele /echte Links geben und sagen was aus der URL du wo im Paket/DownloadOrdner haben willst, dann kann ich viel besser helfen als allgemeine...String1 enthalten, weil wenn String1 enthalten ist, dann ist das ja nur eine Bedigung und kein Pattern mehr, also String1 ist für mix fix/fest und nichts dynamisches. Gerne auch an support@jdownloader.org
Aber bzgl deiner Frage. Ich würde eine Regel machen welche, wie du schon hast, einfach nur Datum in PaketName/DownloadOrdner packt. Und dann eine weitere Regel darunter welche nun explizit auf String1 prüft und dann hier entsprechend String1-PaketName/DownloadOrdner setzt.
__________________
JD-Dev & Server-Admin |
#10
|
||||
|
||||
Ja, weil du ja in der Regel explizit sagt ob diese Regel nun auf einem Link angewendet werden soll oder nicht, eben durch die if Bedigungen der Regel
__________________
JD-Dev & Server-Admin |
#11
|
||||
|
||||
Quote:
**External links are only visible to Support Staff****External links are only visible to Support Staff** Alles daraus soll in J:\JD\Situationsberichte\Tagesdatum sortiert werden. Package-Name: Situationsberichte. Also: String1 ist hier Situationsberichte. |
#12
|
||||
|
||||
@StefanM: explizit für diese domain/webseite? oder überall wo Situationsberichte in der URL vorkommt?
__________________
JD-Dev & Server-Admin |
#13
|
||||
|
||||
überall reicht, ist weniger kompliziert denke ich, und ich verstehe es leichter :-)
|
#14
|
||||
|
||||
@StefanM:
if Code:
sourceURL - contains - Situationsberichte Code:
download directory - Situationsberichte\<jd:simpledate:yyyy-MM-dd> package name - Situationsberichte Situationsberichte/<jd:simpledate:yyyy-MM-dd>
__________________
JD-Dev & Server-Admin |
#15
|
||||
|
||||
Quote:
Muss ich testen was funktioniert? |
#16
|
||||
|
||||
Ja, glaube \ müsste schon passen, aber kann es grad nicht testen, da kein Windows hier hab
__________________
JD-Dev & Server-Admin |
#17
|
||||
|
||||
Quote:
Dann will ich dich heute auch nicht länger behelligen. Muss ich erstmal alles für mich dokumentieren. War ja doch vieles neu für mich. Herzlichen Dank derweilen. Komme aber vielleicht nächste Woche nochmal auf dich zu, wenn ich das eine oder andere ausgetestet habe (und Probleme auftauchen) Schönes WE! |
#18
|
||||
|
||||
Gerne! Und ebenfalls hoffentlich ein schönes WE!
__________________
JD-Dev & Server-Admin |
#19
|
||||
|
||||
@StefanM: Trotzt Solved Tag kannst du natürlich gerne hier fortführen die Fragen
__________________
JD-Dev & Server-Admin |
#20
|
||||
|
||||
Auch mit bereits heruntergeladenen Dateien möglich?
Quote:
Ist die Sortierung auch nachträglich mit bereits heruntergeladenen Dateien möglich? Konkret, dass ich z.B. anhand der URL in der Spalte 'Download From' in der 'Download List' bereits heruntergeladenen Dateien nachträglich in Ordner - abhängig von Strings in der URL - verschieben kann. Auch, wenn es offiziell nicht möglich ist, gibt es ja vielleicht doch einen Weg? Zurzeit mache ich das über Excel: Mit 'Copy Information' ins Clipboard kopierte Infos übertrage ich nach Excel, extrahiere dort die enstprechenden Strings der URLs und erstelle aus Dateipfad und dem String pro Datei einen 'Move'-Befehl. Aus den Excel-Zellen kann ich dann eine Batchdatei erstellen oder auch diesen Zellenverbund direkt ins CMD-Fenster kopieren. Die Tabs zwischen den Zellen werden praktischerweise im CMD einfach ignoriert. Frage dazu: Kann ich eigentlich im CMD in einem Schritt die Ordner direkt erstellen? Ein Weg wäre Folgender - auszuführen im Ordner, in dem die Unterordner aus den Strings angelegt werden sollen Code:
md <String aus URL> & move <vollst. Dateipfad> <Zielpfad> |
#21
|
||||
|
||||
Quote:
1. Warum stellst du diese Frage hier? Sie ist nicht JD-spezifisch und lässt sich mit 30 Sekunden googeln beantworten. 2. Um die Frage trotzdem zu beantworten: Ja klar ist möglich: supernature-forum.de/threads/gel%C3%B6st-batch-ordner-erstellen-wenn-er-existiert-umbenennen.105686/ (Ja im Thread geht es darum, einen Ordner umzubenennen wenn er existiert, aber die Prüfung steht mit drin darum geht es mir.) Ich würde mir den Zielpfad vorher in eine Variable packen und dann prüfen/Ordner erstellen.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#22
|
||||
|
||||
Quote:
keine Möglichkeit, nur eine Idee Quote:
schwergewichtiger.
__________________
JD-Dev & Server-Admin |
#23
|
||||
|
||||
Quote:
Andere Funktionen - z.B. das Entpacken unter Verwendung von Passes aus der JD-internen Liste - sind während des Download- bzw. Speichervorgangs möglich, aber auch später. Hier habe ich eine Möglichkeit skizziert, wie man mithilfe von JD in Verbindung mit Excel und der Kommandozeile die "Einsortier"-Funktion dennoch realisieren kann. Eine Frage dabei war, ob es nicht auch eleganter möglich ist. An sich hätte ich noch eine weitere Frage, nämlich, ob man das, was JD beim Download kann - nämlich das autom. Umbenennen von Namens-Duplikaten nicht auch einfach (!) im Rahmen des move-Befehls erreichen kann. Googlen ergibt z.B dies: stackoverflow.com/questions/17387072/using-command-prompt-batch-files-to-move-and-automatically-rename-duplicate-file Aber ich möchte es ja pro Datei in einer Zeile haben, damit ich Hunderte pder auch Tausende dieser Aktion direkt aus Excel nach CMD kopieren und ausführen lassen kann. Und mit Excel kann zumindest ich so etwas nur realisieren, wenn alles in einer Zeile steht: In derselben Zeile, in der die JD-Info 'Copy Information' steht. Wenn ich die Frage hier stellen darf, dann möchte ich sie hiermit stellen. Wenn nicht, ziehe ich sie mit Bedauern zurück. |
#24
|
||||
|
||||
Quote:
Hatte ich mir auch gedacht. Aber ich hatte auch gedacht, dass ich vielleicht mal fragen kann... |
#25
|
||||
|
||||
Vielleicht verstehen wir unter *Einsortieren* einfach was anderes als du
Du kannst natürlich via Eventskripter das Verschieben auch automatisieren oder auf Buttons/Rechtsklick legen. Aber aktuell verstehe ich nicht so richtig wo genau das Problem ist. Mittels dem "&" lassen sich ja mehrere Befehle in einer Zeile legen/ausführen und somit pro Datei eine Zeile für cmd.exe
__________________
JD-Dev & Server-Admin |
#26
|
||||
|
||||
Totalle Verwirrung und ich kann dir leider nicht folgen.
__________________
JD-Dev & Server-Admin |
#27
|
||||
|
||||
Quote:
__________________
JD-Dev & Server-Admin |
#28
|
||||
|
||||
@StefanM: Ich glaube aktuell besteht einfach Unklarheit darüber was du genau erreichen möchtest, bzw was dir fehlt oder wobei du Hilfe brauchst
__________________
JD-Dev & Server-Admin |
#29
|
||||
|
||||
Quote:
Ich meine mich zu erinnern, dass wir vor zig Jahren mal gefragt wurden, ob wir nicht die Funktionalität einbauen könnten, Videodateien nach dem Download automatisch auf CD/DVD zu brennen... Evtl. verstehst du was ich meine: Das sind sehr spezifische Featureanfragen und solche Features würden am Ende ggf. nur eine Hand voll User nutzen daher bietet es sich an, dafür existierende Tools zu nutzen, die genau dafür geschrieben wurden. Außerdem: Zumindest Dateien, die aus entpackten Archiven stammen kannst du doch bereits mithilfe von Packagizer Regeln nach dem Download automatisch in andere Ordner verschieben lassen siehe in den Regeln ganz unten "...dann führe aus" ... "Verschieben nach". Dateien, die nicht gepackt sind kannst du direkt richtig einsortieren somit solltest du alles mit JD erledigen können oder hab ich da einen Denkfehler? Du scheinst ja in deiner Excel mit Informationen zu arbeiten, die du zuvor aus JD rauskopierst d.h. genau diese Infos stehen den Paketverwalterregeln auch zur Verfügung. Eine Antwort darauf ist: Ja sicher und zwar mit entsprechenden EventScripter Scripten oder du nutzt das bekannte Tool "Filebot" das könnte dir in diesem Bereich auch helfen: filebot.net Quote:
https://support.jdownloader.org/Know...the-packagizer Quote:
@StefanM Am besten wäre es, du würdest konkrete Beispiele mit Links posten und genau beschreiben warum/wie du derzeit welches File nach dem Download in Ordner XY verschieben möchtest.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download |
#30
|
||||
|
||||
Quote:
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> Code:
String1/String2/String3
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> 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 …
Bei bereits vorhandenen Dateinamen automatisch einen Zähler anhängen:
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 11:47. |
#31
|
|||
|
|||
In deinem Beispiel kann das Sortieren der JD ganz allein. Statt die Downloads über zig Tagesordner zu verteilen und danach umzusortieren, benutze einfach den Packetfilter um die Downloads gleich im richtigen Ordner mit dem passenden Namen abzulegen.
|
#32
|
||||
|
||||
@StefanM: Evtl gibt es alternative Move/Copy Kommandozeilen Tools die ein automatisches "Umbennen bei Datei existiert" Out-of-the-box unterstützen. Ansonsten evtl über eine eigene Helfer Batch behehlfen ala
if folder not exist -> create folder if file exists, use different filename move file und dann nur noch Quote:
Oder, wie @oEFLKQzikCqw anmerkt, die Dateien von Anfang an in den finalen/gewünschten Ordner laden lassen mittels Packagizer Regel.
__________________
JD-Dev & Server-Admin |
#33
|
||||
|
||||
Das wird es so nicht geben, da der Packagizer eng an den Linkgrabber und dessen Aufbau/Ablauf gekoppelt ist. Ein nachträgliches Ausführen der Regeln auf Links welche noch im Linkgrabber befinden, dafür gibt es Ideen/Tickets. Aber sobald die Links in der Downloadliste sind, macht der Packagizer so wie er aktuell ist keinen Sinn, da viele Möglichkeiten einfach nicht mehr möglich sind, zb Änderung des Ordners.
__________________
JD-Dev & Server-Admin |
#34
|
||||
|
||||
@StefanM: Ebenfalls vielleicht über die Nuztung von Powershell nachdenken, da hier viel mehr Möglichkeiten und Befehle verfügbar sind und komplexere Abläufe einfacher realisieren lassen.
__________________
JD-Dev & Server-Admin |
#35
|
||||
|
||||
Quote:
Ich habe dir bereits in Post #21 geschrieben/verlinkt mit welchem Befehl du vorher prüfen kannst, ob der Ordner existiert. Wie man mehrere Befehle in einer Zeile aneinanderhängt, weißt du ja bereits. Quote:
Normalerweise kann man mithilfe gewisser Parameter im Voraus bestimmen, was in solchen Fällen geschehen soll dann entfällt die Nachfrage. Die Batch Fragen haben strenggenommen hier in diesem Forum nichts verloren mit trial and error und viel googeln wirst du früher oder später zum Ziel kommen. Es gibt mit Sicherheit auch irgendwo auf Github ein fertiges "move and rename" Script, das du dann mit einem Befehl aufrufen kannst und dich um nichts mehr kümmern musst... Eigentlich steht hier auch nichts anderes als in Jiaz' Post... Quote:
Im Forum / EventScripter Thread findest du so viele Beispiele mit denen du arbeiten kannst.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 27.09.2022 at 14:02. Reason: Tippfehler entfernt |
#36
|
||||
|
||||
Quote:
Und ich verwende die Funktion auch. Hier geht es darum, im Nachhinein diese Sortierung vorzunehmen, zumal ich zum Zeitpunkt des Downloads teilweise noch gar nicht weiß, ob überhaupt - und wenn ja - nach welchen Kriterien ich sortieren möchte. Und die einzige noch offene Frage war, wie ich auf einfache Art und Weise bei Verwendung des move-Befehls dafür Sorge tragen kann, dass bei Namens-Kollision ein Zähler an den Dateinamen angehängt wird. |
#37
|
||||
|
||||
Quote:
Sollte ich mal prüfen.... |
#38
|
||||
|
||||
Zum Beispiel ein alternativer Move Befehl, da gibts bestimmt einiges an fertigen Kommandozeilen Tools. Oder alternative eine eigene move.bat Datei welches das Handling übernimmt.
__________________
JD-Dev & Server-Admin |
#39
|
||||
|
||||
Quote:
Code:
move E:\Folder\A.jpg d:\Folder\B.jpg |
#40
|
||||
|
||||
Quote:
Deine Posts haben sich für mich so gelesen, als könntest du die Sortierung (in diesem Kontext ist mit Sortierung gemeint "in welchen Ordner soll welches File nach dem Download verschoben werden") auch schon im Voraus wissen bzw. als würde diese Anhand der Infos in den Links immer gleich sein in diesem Fall hättest du diese Aufgabe mit JD "Boardmitteln" erledigen können. Dann hätten wir das geklärt und dukannst an deinen Batch Befehlen weiterarbeiten. Quote:
Die Antwort von Jiaz in Post #38 ähnelt seiner in Post #32 und meiner in Post #35. Hier ein letztes Mal: Such dir im Netz ein "fertiges Script", das die Funktionalität "verschiebe File und benenne es um, wenn eine Datei mit demselben Namen bereits existiert" bereits kann. Rufe dieses fertige Script dann mit deinem Script/Befehl auf... Quote:
Du wolltest doch "move" mit "rename falls Datei mit demselben Namen bereits existiert" kombinieren und dafür haben wir dir nun zig Antworten geliefert. Wir kauen dir das nicht vor die Lösung musst du selbst finden. Du darfst die Lösung dann gerne hier im Forum teilen es besteht ja die Möglichkeit, dass andere User ebenfalls etwas damit anfangen können.
__________________
JD Supporter, Plugin Dev. & Community Manager
Erste Schritte & Tutorials || JDownloader 2 Setup Download Last edited by pspzockerscene; 27.09.2022 at 14:07. Reason: Tippfehler fixed |
Thread Tools | |
Display Modes | |
|
|