DateiNAMEN vergleichen/markieren
Moderators: white, Hacker, Stefan2
DateiNAMEN vergleichen/markieren
Hi,
ich habe sehr viel mit Zeichnungen zu tun. Der Dateiname hat IMMER die gleiche Länge! z.B. "5.331._4.TW.RAB.05.D" *.dwg bzw. *.plt.
Der Name ist so aufgebaut, daß bis auf die Letzte Stelle der ZeichnungsNAME angegeben wird und der Letzte Buchstabe (hier "D") die Revision angibt.
Jetzt habe ich täglich das Prob, daß ich in ein Verzeichnis z.B. "aktuelle Zeichnungen" mehrere NEUE Zeichnungen (also mit neuer Revision; in unserem Bsp. also "E") kopiere. Da diese Verzeichnis aber nur AKTUELLE Zeichnungen enthalten soll, muß ich jetzt die Zeichnung mit Revision "D" wo anders hin verschieben. Das raussuchen von 30 "alten" Revisionen ist aber ziemlich Zeitaufwendig!!!!!
Kurz und gut. Ich bräuchte eine Batch-File o.ä. das mir die ALTEN Revisionen markiert!
z.B.
Inhalt im Verzeichnis:
5.331._4.TW.RAB.05.D.dwg
5.331._4.TW.RAB.05.E.dwg
5.331._4.TW.RAB.06.B.dwg
5.331._4.TW.RAB.07.E.dwg
5.331._4.TW.RAB.07.F.dwg
markiert werden soll:
5.331._4.TW.RAB.05.E.dwg
5.331._4.TW.RAB.07.F.dwg
usw....
Das prob. ist, daß ich nicht immer übers Datum Filtern kann
ich habe sehr viel mit Zeichnungen zu tun. Der Dateiname hat IMMER die gleiche Länge! z.B. "5.331._4.TW.RAB.05.D" *.dwg bzw. *.plt.
Der Name ist so aufgebaut, daß bis auf die Letzte Stelle der ZeichnungsNAME angegeben wird und der Letzte Buchstabe (hier "D") die Revision angibt.
Jetzt habe ich täglich das Prob, daß ich in ein Verzeichnis z.B. "aktuelle Zeichnungen" mehrere NEUE Zeichnungen (also mit neuer Revision; in unserem Bsp. also "E") kopiere. Da diese Verzeichnis aber nur AKTUELLE Zeichnungen enthalten soll, muß ich jetzt die Zeichnung mit Revision "D" wo anders hin verschieben. Das raussuchen von 30 "alten" Revisionen ist aber ziemlich Zeitaufwendig!!!!!
Kurz und gut. Ich bräuchte eine Batch-File o.ä. das mir die ALTEN Revisionen markiert!
z.B.
Inhalt im Verzeichnis:
5.331._4.TW.RAB.05.D.dwg
5.331._4.TW.RAB.05.E.dwg
5.331._4.TW.RAB.06.B.dwg
5.331._4.TW.RAB.07.E.dwg
5.331._4.TW.RAB.07.F.dwg
markiert werden soll:
5.331._4.TW.RAB.05.E.dwg
5.331._4.TW.RAB.07.F.dwg
usw....
Das prob. ist, daß ich nicht immer übers Datum Filtern kann
Möge die Technik mit Dir sein.
Nein, eben nicht. das Prob. ist, daß ich ca. 200 verschiedene Zeichnungen habe. Einige mit Revision A einige mit B,C,D,... usw. Jede Zeichnung hat eine andere aktuelle Revision. Nur welche, das muss das Tool rausfinden.
Es wäre ein Suchforgang folgendermaßen denkbar:
setzte file 1=a suche alle files mit namen a
liste alle Revisionen der zeichnung a auf
wenn mehrere Revisionen vorhanden, markiere "alte" revisionen (d.h. alle Dateien markieren AUSSER die, die im Alphabet ganz hinten steht)
Ist schwer zu erklären, aber so ist´s nun mal.....
Es wäre ein Suchforgang folgendermaßen denkbar:
setzte file 1=a suche alle files mit namen a
liste alle Revisionen der zeichnung a auf
wenn mehrere Revisionen vorhanden, markiere "alte" revisionen (d.h. alle Dateien markieren AUSSER die, die im Alphabet ganz hinten steht)
Ist schwer zu erklären, aber so ist´s nun mal.....
Möge die Technik mit Dir sein.
Mit einem Batch-File wird sich das nicht verwirklichen lassen. Denn der Dateiname darf ja erst ab einer bestimmten Position verglichen werden und dann muss für die Revisionsangabe der Wert des Buchstabens in der ASCII-Tabelle verglichen werden, um zu sehen, welche Datei(en) älter ist/sind als die aktuelle.
Das kann meines Erachtens nach nur mittels eines speziellen Programms erfolgreich durchgeführt werden.
Das kann meines Erachtens nach nur mittels eines speziellen Programms erfolgreich durchgeführt werden.
Also mit Excel wäre es über ein Makro zu lösen.... Man kann doch sicher was schreiben, wo man jeden einzelnen Buchstaben ausliest und dann den Letzten Buchstaben (bei mir die Revision) vergleicht und dann entsprechend markiert.....
Obwohl ich bezweifele, wie Du schon angedeutet hast, daß ich aus einer Batch-file heraus in TC dateien markieren kann..... aber es wäre mir auch schon geholfen, wenn die entsprechenden dateien automatisch irgendwo hin verschoben werden.... das kann man nämlich mit den Batch-files lösen.........
Obwohl ich bezweifele, wie Du schon angedeutet hast, daß ich aus einer Batch-file heraus in TC dateien markieren kann..... aber es wäre mir auch schon geholfen, wenn die entsprechenden dateien automatisch irgendwo hin verschoben werden.... das kann man nämlich mit den Batch-files lösen.........
Möge die Technik mit Dir sein.
So wie ich die Sache sehe, wirst Du um ein komplexes Skript nicht drumherum kommen, da Deine Anforderungen ja schon recht komplex sind.
Ich habe mir die Sache nun schon zum dritten Mal durchgelesen und denke, daß Du da mit Standard-Mitteln nicht viel ausrichten kannst.
Ich würde an Deiner Stelle so vorgehen:
1. Da alle Dateien ja wohl 20 Zeichen im Dateinamen haben und sich nur an Stelle 20 unterscheiden, erstelle ich mir zunächst eine Liste, wieviele unterschiedliche Namensfragmente ich auf den Stellen 1-19 habe.
Du erhältst dann z.B. eine solche Liste:
- [...]
- 5.331._4.TW.RAB.05.
- 5.331._4.TW.RAB.06.
- 5.331._4.TW.RAB.07.
- [...]
2. Für jedes dieser Namensfragmente $frag suchst Du nun alle Dateien "$frag*" und sortierst diese Liste alphabetisch und kopierst den letzten Eintrag aus der Liste in das Verzeichnis "aktuelle_Zeichnungen"
Was noch zu klären ist:
- Darf eine ältere Revision aus dem Verzeichnis "aktuelle_Zeichnungen" gelöscht werden? Es sollte wohl so sein, sonst sammelst Du alles in diesem Verzeichnis. Hier solltest Du dann alle Dateien, die dem Schema "$frag*" entsprechen, im Unterverzeichnis löschen, *bevor* Du die Datei in 2. kopierst.
- [Nachtrag] Was passiert, wenn die Revision bei Z angelangt ist? Wie wird dann weiter buchstabiert? AA?
Das ganze kann man sich als Skript (Perl, Rexx, VBS, etc.) schreiben. Mit Batch wäre es u.U. auch möglich, aber in Perl z.B. ginge es schneller und einfacher.
Es kann jetzt natürlich auch sein, daß ich Dein Problem falsch verstanden habe und zuviel Aufwand betreibe.
Ich habe mir die Sache nun schon zum dritten Mal durchgelesen und denke, daß Du da mit Standard-Mitteln nicht viel ausrichten kannst.
Ich würde an Deiner Stelle so vorgehen:
1. Da alle Dateien ja wohl 20 Zeichen im Dateinamen haben und sich nur an Stelle 20 unterscheiden, erstelle ich mir zunächst eine Liste, wieviele unterschiedliche Namensfragmente ich auf den Stellen 1-19 habe.
Du erhältst dann z.B. eine solche Liste:
- [...]
- 5.331._4.TW.RAB.05.
- 5.331._4.TW.RAB.06.
- 5.331._4.TW.RAB.07.
- [...]
2. Für jedes dieser Namensfragmente $frag suchst Du nun alle Dateien "$frag*" und sortierst diese Liste alphabetisch und kopierst den letzten Eintrag aus der Liste in das Verzeichnis "aktuelle_Zeichnungen"
Was noch zu klären ist:
- Darf eine ältere Revision aus dem Verzeichnis "aktuelle_Zeichnungen" gelöscht werden? Es sollte wohl so sein, sonst sammelst Du alles in diesem Verzeichnis. Hier solltest Du dann alle Dateien, die dem Schema "$frag*" entsprechen, im Unterverzeichnis löschen, *bevor* Du die Datei in 2. kopierst.
- [Nachtrag] Was passiert, wenn die Revision bei Z angelangt ist? Wie wird dann weiter buchstabiert? AA?
Das ganze kann man sich als Skript (Perl, Rexx, VBS, etc.) schreiben. Mit Batch wäre es u.U. auch möglich, aber in Perl z.B. ginge es schneller und einfacher.
Es kann jetzt natürlich auch sein, daß ich Dein Problem falsch verstanden habe und zuviel Aufwand betreibe.
Last edited by CSe on 2003-07-17, 09:15 UTC, edited 1 time in total.
Viele Grüße
Christian
Christian
Hi,
also weiter als Revision Z ist nicht möglich... meistens ist schon bei L spätestens Ende.
Es wäre wie gesagt möglich, alle ALTEN Revisionen in ein Unterverzeichnis zu verschieben....
d.h. ich kopiere NEUE Zeichnungen in einen Ordner. Dieser enthält also alte und neue Rev.. Ich aktiviere ein Tool/Batch-File o.ä. und die alten Rev. werden in einen Ordner verschoben ==> Ich habe in dem Verzeichnis NUR aktuelle Revisionen....
Dies muss genauso sichergestellt werden, wie dass KEINE Zeichnung GELÖSCHT wird, sondern nur in einen Ordner Verschoben wird.
also weiter als Revision Z ist nicht möglich... meistens ist schon bei L spätestens Ende.
Es wäre wie gesagt möglich, alle ALTEN Revisionen in ein Unterverzeichnis zu verschieben....
d.h. ich kopiere NEUE Zeichnungen in einen Ordner. Dieser enthält also alte und neue Rev.. Ich aktiviere ein Tool/Batch-File o.ä. und die alten Rev. werden in einen Ordner verschoben ==> Ich habe in dem Verzeichnis NUR aktuelle Revisionen....
Dies muss genauso sichergestellt werden, wie dass KEINE Zeichnung GELÖSCHT wird, sondern nur in einen Ordner Verschoben wird.
Möge die Technik mit Dir sein.
Hmm, dann haben wir ein wenig aneinander vorbeigeredet. Aber prinzipiell ist das alles möglich, was Du möchtest.Lupan wrote: Es wäre wie gesagt möglich, alle ALTEN Revisionen in ein Unterverzeichnis zu verschieben....
d.h. ich kopiere NEUE Zeichnungen in einen Ordner. Dieser enthält also alte und neue Rev.. Ich aktiviere ein Tool/Batch-File o.ä. und die alten Rev. werden in einen Ordner verschoben ==> Ich habe in dem Verzeichnis NUR aktuelle Revisionen....
Dies muss genauso sichergestellt werden, wie dass KEINE Zeichnung GELÖSCHT wird, sondern nur in einen Ordner Verschoben wird.
Wenn Du weitere Infos möchtest, dann schick mir bitte eine kurze Mail an ramirez@unixag-zw.fh-kl.de
Viele Grüße
Christian
Christian
Kann ich eigentlich Dateinamen ohne weiteres miteinander vergleichen, ohne groß noch eine Datenbank zu erstellen??? Habe leider nur geringe Programmiererfahrung mit Basic....
Wenn ichs mir recht überlege, kanns eigentlich auch ein externes Proggi werden... das brauche ich ja nicht immer.... aber aus TC wäre es einfacher, da ich dann nicht immer den ganzen Pfad aufmachen muss......
Hoffe, es kann mir wieder jemand helfen......
Wenn ichs mir recht überlege, kanns eigentlich auch ein externes Proggi werden... das brauche ich ja nicht immer.... aber aus TC wäre es einfacher, da ich dann nicht immer den ganzen Pfad aufmachen muss......
Hoffe, es kann mir wieder jemand helfen......
Möge die Technik mit Dir sein.
Ich habe Dir den Algorithmus heute Mittag in meinem Posting skizziert. Da braucht es keine Datenbank für.Lupan wrote:Kann ich eigentlich Dateinamen ohne weiteres miteinander vergleichen, ohne groß noch eine Datenbank zu erstellen???
Natürlich. Ein selbstgeschriebenes Skript, das Du mit (oder im) dem aktuellen Pfad aufrufst.Lupan wrote:Wenn ichs mir recht überlege, kanns eigentlich auch ein externes Proggi werden... das brauche ich ja nicht immer.... aber aus TC wäre es einfacher, da ich dann nicht immer den ganzen Pfad aufmachen muss......
Ich schätze, der nächste Satz wird hier nicht gern gesehen: Ich kann Dir helfen, aber das kostet Geld, weil ich das (frei)beruflich mache. Falls Du immer noch interessiert bist: Meine Mailadresse zur ersten Kontaktaufnahme hast Du weiter oben.Lupan wrote:Hoffe, es kann mir wieder jemand helfen......
Viele Grüße
Christian
Christian
Da hatte ich ja auch keine Bedenken. Ich habe es ihm angeboten. Wenn er sich nicht meldet, weil er das Geld nicht ausgeben möchte oder es nicht kann, kann ich ihm auch nicht helfen.norfie wrote:Was spricht dagegen sein Wissen in bare Muenze zu verwandeln? Soweit ich es sehe, moechte Lupan auch etwas geloest haben, womit er seine Broetchen verdient. Also IMO ein voellig legitimer Wunsch, wenn alle beteiligten Seiten wissen, worauf sie sich einlassen.
Mir ging es nur darum, daß ich hier keine Werbung mache, indem ich meine Firmendaten veröffentliche. Wenn ich ihm mitteile, wie er mich (über eine quasi anonyme Mailadresse) erreicht, ist das etwas anderes als wenn ich schreibe, daß der mich bei Firma Müller-Meier-Schulze, 12345 Musterheim, Tel (01234) 56789-0, erreichen kann.
Viele Grüße
Christian
Christian
Hi,
Ich habe nichts dagegen, daß jemand bzw. CSe Geld mit soetwas verdient. Ich finde es sogar lobenswert, daß einem hier auch geholfen wird, ohne daß man zuerst mal Kohle dafür hinlegen muss.....
Ich arbeite in einer Firma in der die EDV-Abteilung so seine Eigenheiten hat; was aber auch mit der Struktur zu tun hat... aber egal....
Jedenfalls finde ich hier im Internet bzw. hier im TC-Forum SCHNELLER eine Lösung, als wenn ich in die EDV-Abteilung gehe, mich dort durchfrage wer Ahnung hat, der dann in Urlaub ist usw..................
CSe, ggf. werde ich auf Dein Angebot zurückkommen, wenn mir "meine" EDV nicht weiterhelfen kann. Jedoch sehe ich es andererseits nicht ein, daß ich Dich von MEINEM Geld bezahle, damit die "Firma schneller arbeitet" - Ich habe nämlich nichts davon (vielleicht, daß mein Arbeitsberg etwas schrumpft!)
Wenn die Firma das bezahlen sollte, gäbe es unmengen Fragen bla bla bla und sie bräuchten eine Rechnung... so ist das halt......
Aber alles in allem möchte ich mich an dieser Stelle bei ALLEN bedanken, die Ihr Wissen hier im Forum (und auch in anderen Foren) kostenlos zur Verfügung stellen.
Ich habe nichts dagegen, daß jemand bzw. CSe Geld mit soetwas verdient. Ich finde es sogar lobenswert, daß einem hier auch geholfen wird, ohne daß man zuerst mal Kohle dafür hinlegen muss.....
Ich arbeite in einer Firma in der die EDV-Abteilung so seine Eigenheiten hat; was aber auch mit der Struktur zu tun hat... aber egal....
Jedenfalls finde ich hier im Internet bzw. hier im TC-Forum SCHNELLER eine Lösung, als wenn ich in die EDV-Abteilung gehe, mich dort durchfrage wer Ahnung hat, der dann in Urlaub ist usw..................
CSe, ggf. werde ich auf Dein Angebot zurückkommen, wenn mir "meine" EDV nicht weiterhelfen kann. Jedoch sehe ich es andererseits nicht ein, daß ich Dich von MEINEM Geld bezahle, damit die "Firma schneller arbeitet" - Ich habe nämlich nichts davon (vielleicht, daß mein Arbeitsberg etwas schrumpft!)
Wenn die Firma das bezahlen sollte, gäbe es unmengen Fragen bla bla bla und sie bräuchten eine Rechnung... so ist das halt......
Aber alles in allem möchte ich mich an dieser Stelle bei ALLEN bedanken, die Ihr Wissen hier im Forum (und auch in anderen Foren) kostenlos zur Verfügung stellen.
Möge die Technik mit Dir sein.
Ich habe auch nicht von Dir erwartet, daß Du das aus eigener Tasche zahlst. Du hast ja geschrieben, daß es für Deine Arbeit ist.Lupan wrote:Jedoch sehe ich es andererseits nicht ein, daß ich Dich von MEINEM Geld bezahle, damit die "Firma schneller arbeitet"
Aber es ist durchaus üblich, Aufgaben nach extern abzugeben, für die intern die Zeit oder das Know-How fehlen. Genau dafür sind externe Mitarbeiter und Freiberufler ja da.
Welche denn? Vermutlich welche in der Richtung "Woher kennen Sie ihn?", "Wieso sollen wir das überhaupt bezahlen?" und "Ist das wirklich nötig?" usw. Aber dafür habe ich Verständnis.Lupan wrote:Wenn die Firma das bezahlen sollte, gäbe es unmengen Fragen
Ich hoffe nicht, daß sie fragen "Von welchem Geld sollen wir das bezahlen?"
Das ist ja wohl das geringste Problem. Ich schrieb bereits, daß ich das freiberuflich mache. Das sollte eine Rechnungsstellung implizieren und Hobby sowie Schwarzarbeit ausschließen.Lupan wrote:und sie bräuchten eine Rechnung...
Viele Grüße
Christian
Christian