mue Geschrieben 1. November 2005 Teilen Geschrieben 1. November 2005 Guten Morgen, ich habe bei uns im Unternehmen auf einem Win2003-Server einen virtuelle Drucker eingerichtet der alle Druckaufträge in PDF umwandelt und per Mailanhang zurück an den Versender schickt (auf Basis von PDF2SMTP). Das Ganze läuft im Hintergrund über 3 Tools ab, die ihre Daten mittels einer Batchdatei austauschen. Als Dateiname für die generierte PDF-Datei wird dabei der Name des zu druckenden Dokuments genommen. Nun gibt es das Problem das einige Programme beim Drucken nicht nur den reinen Dokumentname mitsendet, sondern in die Variable des Dokumentnamens gleich noch den gesamten lokalen Pfad mitschicken. Damit ist dann natürlich der Dateoname der PDF-Datei zu lang und das Script wird abgebrochen. Daher also meine Frage: Kann ich in einer Batchdatei eine Variable aufgrund von bestimmte Zeichen kürzen, so dass zum Beispiel von "C:\Dokumente und Einstellungen\Mustermann\Desktop\test.jpg" nur test.jpg als Variable übrig bleibt? Danke schonmal (und Sorry für den langen Text, aber ich wollte das Thema komplett geklärt haben) mue @admins: Keine Ahnung ob ich das Thema richtig eingeordnet hab, wenn nicht bitte ich um Entschuldigung und Verschiebung des Thema's) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
volker81 Geschrieben 1. November 2005 Teilen Geschrieben 1. November 2005 verstehe nicht ganz, was du meinst, aber du kannst mit "path=\ordner;" einen gewissen ornder als "arbeitsordner" angeben Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
mue Geschrieben 1. November 2005 Autor Teilen Geschrieben 1. November 2005 Mmh, ich sehe meine Erläuterung war doch nicht ganz schlüssig, also hier mein 2. Erklärungsversuch: Die Batchdatei erhält von dem Tool Redmon den Name des zu druckenden Dokuments und speichert ihn in die Variable %DOCNAME%. Anhand von %DOCNAME% wird die zugehörige PS-Datei in Ghostscript eingelesen und eine PDF-Datei erzeugt, die dann wieder den gleichen Dateinamen hat wie die Datei die zum Drucker gesendet wurde (%DOCNAME%.pdf). Dies funktioniert auch gut, solange das Programm, aus dem gedruckt wurde, wirklich nur den Dateinamen in die Variable legt. Einige Produkte legen aber gleich den ganzen Pfad der Datei mit in diese Variable. Und dann kann es vorkommen das die Variable (und damit der Dateiname der PDF-Datei) zu lang wird und das Script nicht sauber durchläuft. Aus diesem Grund will ich die Variable überprüfen, und wenn der Dateipfad mit in der Variable steht, diesen rauskürzen. Ist das irgendwie möglich? mue Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
darkworld Geschrieben 1. November 2005 Teilen Geschrieben 1. November 2005 Möglich ist das... du kannst mit einer for-Schleife über deinen String iterieren, mit delims ein Trennzeichen (In deinem Fall der \ ) definieren und es so in handliche tokens zerlegen. Dann musst du nur noch herausfinden welches der tokens das letzte und somit dein Dateiname ist. Für genauere Anleitungen habbich sowas auch schon zu lange nimmer gemacht, du brauchst ne for Schleife mit der delims= Option, ich denke darüber sollte sich einiges finden lassen. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.