WatchDirectory Forum | |
https://www.watchdirectory.net/cgi-bin/yabb25/YaBB.pl
watchDirectory forums >> German >> Bräuchte mal Hilfe um Dateien zu verschieben https://www.watchdirectory.net/cgi-bin/yabb25/YaBB.pl?num=1151071696 Message started by CTP on Jun 23rd, 2006 at 3:08pm |
Title: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 23rd, 2006 at 3:08pm
Hallo!!
Ich hoffe, Ihr könnt mir helfen. Ich möchte ein Verzeichniss abfragen, in das *.jdf Dateien reinfallen. Diese *.jdf Dateien heissen zum Beispiel "BG1_AuftragXYZ.jdf" und "BG2_AuftragXYZ.jdf" "BG3_AuftragXYZ.jdf" usw. Ich möchte das die in einen Ordner kopiert werden, dessen Namensgebung aus dem Dateinamen genommen wird. Das mache ich ja mit dem tag {filetitle}. Ich möchte aber, das bei der erstellung des Ordnernamens das "BG1" "BG2" "BG3" entfernt wird. Der Ordner darf nur "AuftragXYZ" heißen. Also das die Dateien eines Auftrages gebündelt in ein und den selben, erstellten Ordner wandern. Nicht jede Datei in einen eigenen Ordner. Damit hätte ich nur noch mehr Abreit :( Ich bekomme das soweit hin, nur nicht das entfernen der ersten 4 zeichen aus dem Namen, bei der Ordnererstellung. Der eigentliche Dateiname bleibt übrigens unverändert. Mal als beispiel, wie die Ordnerstruktur fertig aussehen soll AuftragABCD <- das ist der Ordner | BG1_AuftragABCD.jdf BG2_AuftragABCD.jdf BG3_AuftragABCD.jdf Auftrag12345 | BG1_Auftrag12345.jdf BG2_Auftrag12345.jdf BG3_Auftrag12345.jdf BG4_Auftrag12345.jdf BG5_Auftrag12345.jdf usw. Vielen Dank!! Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 23rd, 2006 at 3:37pm
Hallo Holger,
natürlich bekommst Du hier die Hilfe: Schau Dir mal die Beschreibung der Variablen an, die Du mit der Funktion "Dynamische Namen" verwenden kannst (in der Hilfe bzw. unter http://de.watchdirectory.net/wdhelp/plugins/dynamicname_functions_deu.html ) Dort findest Du z. Bsp. sowas: {substring{start,length,text] liefert eine definierte Zeichenkette zurück. beginnt mit Position "Start" {substring{0,3,{monthname]} Dies liefert die Zeichenkette "Okt" (im Monat Oktober) zurück. Wenn Du jetzt also {substring{5,10,{filetitle]} als Dynamischen Namen verwendest, liefert Dir das den 5. - 10. Buchstaben des erkannten Dateinamens zurück. Der gesamte Dynamische Namen könnte also so aussehen: D:\Zielverzeichnis\{substring{5,10,{filetitle]}\{filename} Du musst nur drauf achten, dass das BG1_ nicht mehr Zeichen bekommt. Probiers mal aus. Alternativ kannst Du auch das verwenden: {right{5,{filetitle]} um die letzten 5 Zeichen (von rechts) des Dateinamens zu bekommen. |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 23rd, 2006 at 4:00pm
Vielen Dank erstmal für die wirklich schnelle Antwort.
Ja, bis dahin habe ich mich schon durchgekämpft. Aber leider ist da genau mein Problem. Ich kann nur eine feste Anzahl an Buchstaben von links oder rechts übernehmen. Ich bräuchte aber eine feste anzahl an Buchstaben die ich von rechts oder links entfernen kann. Da wir hier aber zig verschiedene Kunden haben, die ja alle anders heissen, kann ich keinen Festen wert vergeben. Ich bräuchte eine funktion wie etwa {filetitle(ab 4.ziffer von links)} Also wo ich sagen kann , bis auf die ersten 4 ziffern, bitte den ganzen {filetitle} nehmen. oder so wie Du geschrieben hast, Der gesamte Dynamische Namen könnte also so aussehen: D:\Zielverzeichnis\{substring{5,10,{filetitle]\{filename} müsste es heissen D:\Zielverzeichnis\{substring{5,{filetitle]\{filename} also keinen festen wert von 10 sondern so viele, wie der name halt lang ist, nur erst ab dem 5. Ich hoffe ich konnte das so einigermaßen erklären :-[ Gruß, Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 23rd, 2006 at 7:16pm
Hallo Holger,
verwende doch einfach D:\Zielverzeichnis\{substring{5,250,{filetitle]}\{filename} Da Windows-Dateinamen max. 255 Zeichen lang sein können, bekommst Du alles ab Zeichen 6 bis 255 als Ordnername. Wenn der Dateiname kleiner als 255 Zeichen ist, wird der Rest ignoriert. Quasi entfernst Du damit 5 Buchstaben von links. Wenn ich Dich richtig verstanden habe, ist es das, was Du erreichen möchtest. |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 26th, 2006 at 6:17am
Guten Morgen!
Danke für die tolle hilfe hier. Ist echt klasse!!! Die Idee kam mir am Freitag nachmittag auch noch, und habe es einfach mal ausprobiert. Es klappt!!! :) Da wir sehr bald hier den ganzen Workflow in der Druckvorstufe umstellen, würde ich gerne zwei Ordner mit dem Programm abfragen. Das erste klappt ja schonmal hervorragend!!! Nur beim zweiten sehe ich schwierigkeiten....... Wenn ich nämlich ein PDF auf das RIP schicke, um es für den Druck rastern zu lassen, werden automatich die kürzel für die Farben (c), (m), (y), (k) hinten an den Dateinamen angehängt. Ich habe mich durch das Manual von dem RIP Programm gelesen. Aber leider habe ich nicht die Möglichkeit, zu sagen, bitte die kürzel vorne anstatt hinten anzuhängen. Die gerippten Dateien sollten dann nämlich auch gesammelt in einen Ordner pro Auftrag geschoben werden. Gibt es echt keine möglichkeit zu sagen, nicht die ersten xxxx ziffern zu entfernen, sonder lieber die letzten? Schöne Grüße, Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 26th, 2006 at 9:36am
Hallo Holger,
wir schauen mal, was wir tun können. Bis dahin könntest Du Dir folgendermaßen behelfen: Überwache mittels watchDirectory Deinen Ordner und lasse die erkannten Dateien zunächst mit dem Dynamischen Namen "{reverse{text]" in einen anderen Ordner fallen. Damit bekommst Du den Dateinamen rückwärts und könntest mit einer 2. Aufgabe nun die ersten X Buchstaben entfernen lassen. Probiers mal aus, nur als temporärer Workaround, ich melde mich, wenn ich eine bessere Methode gefunden haben. |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 26th, 2006 at 10:07am
Hallo Dirk!
Ja so in der art habe ich das nun auch gemacht. Als erstes kommt lasse ich die Dateien nach "c:\temp\{substring{3,50,{reverse[filetitle]]}\{filename}" schieben. Welches dann wiederum mit dieser Zeile "E:\PDF_Workflow\Aufträge_RIP\{reverse[relativedir]}\" abgefragt und an den endgültigen Ort geschoben wird. Klappt hervorragend. Wir kaufen jetzt Euer Programm. Hatte nur erstmal zum Test die 30 Tage Testversion installiert. Aber so können wir gut mit arbeiten. Wir haben zwar ab und an Aufträge, die als Farbangabe kein standard (c),(m),(y),(k) haben, sondern sonderfarben z.b.HKS 13 oder Pantone 287 usw. Da bleibt mein Problem zwar noch. Aber da das nicht so oft der Fall ist, kann man das auch gerade von Hand abändern. Wenn Ihr dennoch etwas dran arbeiten wollt, währe es super den Namen durch _tags_ auzulesen. Z.b. vom 2 underline bis zum dritten, und der Rest wird Ignoriert, oder so. Vielen, vielen Dank für Deine Bemühungen! Schöne Grüße, Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 26th, 2006 at 10:30am
Hallo Holger,
wir nehmen Deine Anregung gerne auf. Es gibt in watchDirectory auch die Möglichkeit, ein einfaches Script abarbeiten zu lassen (Plugin .bat-Datei ausführen). Wenn Du Dich ein wenig mit Scripting auskennst, kannst Du darüber sehr viel mehr machen, als mit dem Plugin "kopieren". Schaus Dir mal an. Wenn Du die Software über unseren Shop auf https://secure.bmtmicro.com/servlets/Orders.ShoppingCart?CID=2054/49&PRODUCTID=20540000&CURRENCY=EUR&CLR=0 bestellst, achte bitte auf richtige Eingabe des Firmennamens und vergiss nicht, Dir am Ende des Bestellprozesses die Rechnung auszudrucken, da diese nicht nochmal als Mail versendet wird. Viel Spass mit watchDirectory, ich melde ich an dieser Stelle, wenn wir Deine Anregungen umgesetzt haben. |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 27th, 2006 at 8:00am
Hallo Holger,
gute Nachrichten für Dich: Wir konnten Deine Wünsche im aktuellen Release 4.0.46 bereits größtenteils berücksichtigen. Es gibt u.a. einige neue Variablen für "Dynamische Namen": {stringbefore{tofind,completestring]} Gibt die Buchstaben des Ausdrucks "completestring" bis zur definierten Zeichenfolge "tofind" bzw. den kompletten Ausdruck "completestring" zurück, wenn "tofind" nicht gefunden wurde. {stringbefore{ober,{monthname]} Dies gibt die Buchstaben "Okt" im Monat Oktober zurück. {stringafter{tofind,completestring] Gibt die Buchstaben des Ausdrucks "completestring" zurück, beginnend mit dem Zeichen nach "tofind" bzw. den kompletten Ausdruck "completestring", wenn der Ausdruck "tofind" nicht gefunden wird. {stringafter{_,{filetitle]} Dies liefert alle Buchstaben in einem Ausdruck nach dem definierten Steuerzeichen "_". {cutright{num,text] Entfernt die Anzahl "num" Buchstaben am Ende des Textes bzw. Dateinamens. {cutright{4,abcdefg] Diese Definition ergibt den Text "abc" Du kannst diese Version unter http://www.watchdirectory.net/downloads/watchint.zip und testen. |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 27th, 2006 at 2:17pm
Hallo Dirk!
Hey, Ihr seid ja wirklich fix! Klasse! Ja, ich denke, das da schon sehr gute ansätze drin sind. Werde es ausprobieren, und mich dann nochmal melden. Aber eigentlich müssten wir damit gut zurecht kommen. Vielen Dank und schöne Grüße, Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 29th, 2006 at 8:41am
Guten Morgen!
So, habe gestern die neue Version ausprobiert, und muss sagen, genau so stellte ich mir das vor. Jetzt können wir wunderbar damit arbeiten, und es perfekt in unseren Workflow integrieren, und anpassen! Vielen Dank nochmal für diese schnelle Unterstützung!! Schöne Grüße, Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 29th, 2006 at 8:46am
Hallo Holger,
freut uns, dass es Dir gefällt - empfehle uns weiter! |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 29th, 2006 at 11:48am
Hallo Dirk!
Hoffe, Du kannst mir noch mal einen Tip geben. Ich habe den Workflow erstmal lokal hier auf einem Rechner durchgespielt. Jetzt, wo alles geht, wollte ich die richtigen Pfade anpassen. Und jetzt wird nichts mehr verschoben :-/. Das Verzeichniss, welches ich überwache, ist nachwievor lokal. Aber die erstellten verzeichnisse sind netzlaufwerke, die Verbunden sind. Nur wird mir dort kein Ordner erstellt, und die Dateien, die ich überwache, sind auch unangetastet. Liegt das daran, das wir noch nicht den Registrierungs-schlüssel von Euch haben, und WD halt nur in der Demo läuft? habe den Netzwerkpfad wi folgt angegeben: \\Pbu\K\{stringbefore{__,{filetitle]}\{filename} ist doch so richtig, oder? Wenn ich es mit Laufwerksbuchstaben mache, passiert auch nichts. Hmmmmm....... :-[ Schönen Gruß, Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by CTP on Jun 29th, 2006 at 11:54am
Ups, war mein Fehler.
Hatte die Aufgabe als Windows Dienst gestartet. Habe das jetzt auf normal gesetzt. Und nun geht es ;) Alles ok! Holger |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 29th, 2006 at 12:01pm
Hallo Holger,
die Testversion hat - solange sie nicht in einer virtuellen Umgebung läuft - keinerlei Einschränkungen. Wenns mit Netzlaufwerken nicht läuft, ist es meist ein Rechteproblem. Der Benutzer, unter dem watchDirectory gestartet ist (wenns als Dienst läuft, dann der Benutzer, unter dem der Dienst gestartet wird), braucht Schreibrechte am Zielverzeichnis (Achtung: unter W2003 Server und XP hat man per Standard-Einstellung nur Leserechte auf einer Freigabe). Schau mal in die watchDirectory Ereignisanzeige auf Deine Aufgabe, ob dort Fehler protokolliert werden. Ebenso kanst Du testhalber das Ausführungsfenster der Aufgabe anzeigen lassen, auch dort kannst Du realtime sehen, was los ist und wo es evt. klemmt. Quote:
Solange Pbu Dein Server und K Deine Freigabe ist, sollte es passen. |
Title: Re: Bräuchte mal Hilfe um Dateien zu verschieben Post by Dirk on Jun 29th, 2006 at 12:03pm
Da warst Du doch glatt schneller.
Wenn als Dienst, dann unter einem Benutzer, der entsprechende Rechte am Ziel hat. Unter "Local System" gehts nicht, wie der Name "local" schon sagt, hat dieser Account keine Rechte auf Freigaben im Netz. |
WatchDirectory Forum » Powered by YaBB 2.5.2! YaBB Forum Software © 2000-2025. All Rights Reserved. |