DateiNAMEN vergleichen/markieren

German support forum

Moderators: white, Hacker, Stefan2

User avatar
Lupan
Member
Member
Posts: 136
Joined: 2003-03-12, 08:20 UTC

DateiNAMEN vergleichen/markieren

Post by *Lupan »

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 :-(
Möge die Technik mit Dir sein.
User avatar
Cineatic
Power Member
Power Member
Posts: 871
Joined: 2003-06-02, 14:09 UTC

Post by *Cineatic »

Reicht dafür nicht die Suchmaske? Mit *.E.DWG würden dann alle E-Revisionen markiert oder mit *.F.DWG halt alle F-Revisionen.
User avatar
Lupan
Member
Member
Posts: 136
Joined: 2003-03-12, 08:20 UTC

Post by *Lupan »

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.....
Möge die Technik mit Dir sein.
User avatar
Cineatic
Power Member
Power Member
Posts: 871
Joined: 2003-06-02, 14:09 UTC

Post by *Cineatic »

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.
User avatar
Lupan
Member
Member
Posts: 136
Joined: 2003-03-12, 08:20 UTC

Post by *Lupan »

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.........
Möge die Technik mit Dir sein.
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

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. ;)
Last edited by CSe on 2003-07-17, 09:15 UTC, edited 1 time in total.
Viele Grüße

Christian
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

Ha, da war jemand schneller als ich mit seinem Beitrag. :)
Viele Grüße

Christian
User avatar
Lupan
Member
Member
Posts: 136
Joined: 2003-03-12, 08:20 UTC

Post by *Lupan »

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.
Möge die Technik mit Dir sein.
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

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.
Hmm, dann haben wir ein wenig aneinander vorbeigeredet. Aber prinzipiell ist das alles möglich, was Du möchtest.

Wenn Du weitere Infos möchtest, dann schick mir bitte eine kurze Mail an ramirez@unixag-zw.fh-kl.de
Viele Grüße

Christian
User avatar
Lupan
Member
Member
Posts: 136
Joined: 2003-03-12, 08:20 UTC

Post by *Lupan »

Kann ich eigentlich Dateinamen ohne weiteres miteinander vergleichen, ohne groß noch eine Datenbank zu erstellen??? Habe leider nur geringe Programmiererfahrung mit Basic.... :roll:

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.
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

Lupan wrote:Kann ich eigentlich Dateinamen ohne weiteres miteinander vergleichen, ohne groß noch eine Datenbank zu erstellen???
Ich habe Dir den Algorithmus heute Mittag in meinem Posting skizziert. Da braucht es keine Datenbank für.
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......
Natürlich. Ein selbstgeschriebenes Skript, das Du mit (oder im) dem aktuellen Pfad aufrufst.
Lupan wrote:Hoffe, es kann mir wieder jemand helfen......
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.
Viele Grüße

Christian
User avatar
norfie
Power Member
Power Member
Posts: 1194
Joined: 2003-02-18, 14:18 UTC

Post by *norfie »

Last edited by norfie on 2004-09-10, 21:10 UTC, edited 1 time in total.
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

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.
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. :)

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.
:wink:
Viele Grüße

Christian
User avatar
Lupan
Member
Member
Posts: 136
Joined: 2003-03-12, 08:20 UTC

Post by *Lupan »

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. :D
Möge die Technik mit Dir sein.
User avatar
CSe
Senior Member
Senior Member
Posts: 233
Joined: 2003-04-07, 08:28 UTC
Location: Deutschland, NRW

Post by *CSe »

Lupan wrote:Jedoch sehe ich es andererseits nicht ein, daß ich Dich von MEINEM Geld bezahle, damit die "Firma schneller arbeitet"
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.
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. 8)
Lupan wrote:Wenn die Firma das bezahlen sollte, gäbe es unmengen Fragen
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.
Ich hoffe nicht, daß sie fragen "Von welchem Geld sollen wir das bezahlen?" :lol: :wink:
Lupan wrote:und sie bräuchten eine Rechnung...
Das ist ja wohl das geringste Problem. :roll: Ich schrieb bereits, daß ich das freiberuflich mache. Das sollte eine Rechnungsstellung implizieren und Hobby sowie Schwarzarbeit ausschließen. :D
Viele Grüße

Christian
Post Reply