Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de (alle Foren)
  Lisp
  Pfad einer Datei ermitteln

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte
Autor Thema:  Pfad einer Datei ermitteln (2870 mal gelesen)
Frank88
Mitglied



Sehen Sie sich das Profil von Frank88 an!   Senden Sie eine Private Message an Frank88  Schreiben Sie einen Gästebucheintrag für Frank88

Beiträge: 153
Registriert: 11.10.2004

AutoCAD 2019/C3D

erstellt am: 22. Mrz. 2005 16:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo,

kann man mit AutoLisp den Pfad einer Datei ermitteln? Der Dateiname ist dabei bekannt, aber Laufwerk und Pfad nicht.

Gruß, Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

tunnelbauer
Ehrenmitglied V.I.P. h.c.
Bauingenieur



Sehen Sie sich das Profil von tunnelbauer an!   Senden Sie eine Private Message an tunnelbauer  Schreiben Sie einen Gästebucheintrag für tunnelbauer

Beiträge: 7085
Registriert: 13.01.2004

ich hab eh keine Probleme damit...

erstellt am: 22. Mrz. 2005 16:51    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

ja - einfach mit (findfile "dateiname.ext") zB (findfile "acad.exe")

------------------
Grüsse

Thomas

EDIT: Nachtrag: Die Datei muss dazu aber in AutoCAD geladen sein

[Diese Nachricht wurde von tunnelbauer am 22. Mrz. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADchup
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 22. Mrz. 2005 18:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Hi,

(findfile) setzt allerdings voraus, dass sich die Datei in einem der Verzeichnisse befindet, die im AutoCAD-Suchpfad stehen.

Ein Dateisucher, der alle Laufwerke und Pfade abklappert wäre IMHO ziemlich lange unterwegs, bis er ein Ergebniss liefert.
Was hast Du denn genau vor? Vielleicht kann man etwas einschränken?


Gruß
CADchup

------------------
www.cadditions.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Frank88
Mitglied



Sehen Sie sich das Profil von Frank88 an!   Senden Sie eine Private Message an Frank88  Schreiben Sie einen Gästebucheintrag für Frank88

Beiträge: 153
Registriert: 11.10.2004

AutoCAD 2019/C3D

erstellt am: 22. Mrz. 2005 18:42    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Ja, mit Findfile hatte ich's auch schon probiert und genau die Einschränkung festgestellt. Mir geht's aber eigentlich darum, daß jeder, der von mir eine Lisp-Datei bekommt, diese hinkopieren kann, wo er will und das ganze trotzdem funktioniert. Sonst ist das immer mit ellenlangen Erklärungen verbunden und wer jetzt in Windows und seinen Ordnerstrukturen nicht so bewandert ist, verliert schonmal die ein oder andere Datei. Vielleicht würde es ja auch reichen, den Pfad der geladenen Datei festzustellen - meistens sind die anderen Listen dann auch da zu finden.

Gruß, Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADchup
Ehrenmitglied V.I.P. h.c.




Sehen Sie sich das Profil von CADchup an!   Senden Sie eine Private Message an CADchup  Schreiben Sie einen Gästebucheintrag für CADchup

Beiträge: 3329
Registriert: 14.03.2001

Sicher ist, dass nichts sicher ist. Selbst das nicht.
Joachim Ringelnatz

erstellt am: 22. Mrz. 2005 22:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Ich denke, Du solltest ein anderes Konzept verfolgen.
Du könntest zum Beispiel die Lisps im Netz lassen und von dort laden lassen.
Oder ein eigenes Menü aufbauen? In der zugehörigen MNL könntest Du dann alle Lisps per (autoload) laden lassen.
Gibt noch mehr Möglichkeiten. Wenn Du die Suche bemühst, findest Du bestimmt ein paar Sachen.


Gruß
CADchup

------------------
www.cadditions.de

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 23. Mrz. 2005 08:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

sowas ist leider Grundsätzlich mit Lisp/Vlisp nicht möglich.
Ich glaube einzig DosLib bietet diese Möglichkeit.

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mrz. 2005 09:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von CADwiesel:
sowas ist leider Grundsätzlich mit Lisp/Vlisp nicht möglich.

Doch ist es, muß man sich bloß ein erweitertes findfile kreieren..

Hilfreich sind dabei u.a:

mit rekursiven Aufruf von (vl-directory-files FOLDERNAME "*.*" -1)
eine Verzeichnisbaumliste erstellen(der Erste Aufruf erfolgt mit dem entsprechenden LW-Buchstaben) und die dann mit (findfile(strcat FOLDER DATEINAME) abarbeiten.

Die Existiereden LW bekommt man mit dem FSO-Objekt :
(setq FSO (vlax-create-object "Scripting.FilesystemObject"))
(setq DRIVES (vlax-get-property FSO 'Drives))
 

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADwiesel
Moderator
CAD4FM UG




Sehen Sie sich das Profil von CADwiesel an!   Senden Sie eine Private Message an CADwiesel  Schreiben Sie einen Gästebucheintrag für CADwiesel

Beiträge: 1968
Registriert: 05.09.2000

AutoCAD, Bricscad
Wir machen das Mögliche unmöglich

erstellt am: 23. Mrz. 2005 11:18    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

nun ja, das ist natürlich immer ein Weg Verzeichniss für Verzeichniss durchzusuchen.

Aber ob das der Wahre Sack der Zwerge ist :dream

------------------
Gruß
CADwiesel
Besucht uns im CHAT

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 23. Mrz. 2005 11:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

@CADwiesel .. Nö, ist sicher nicht das wahre... ich halte auch den Ansatz schon verkehrt, die ganze Platte durchsuchen zu müssen ... das dauert nämlich ...  die Lispsachen kommen in einen Ordner "LSIP" und der wird in den Supportpfad eingetragen, fertich! Aber wem erzähl ich das? 

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 23. Mrz. 2005 12:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

DAU: "Äh, was ist LSIP das kenn ich nicht den Ordner brauch ich nich *lösch*"

Ps.: Wo tut er dann das Lisp hin das nach den gesuchten Lisp sucht *kopfkratz*.

------------------
"Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P.
Bitte Supportangaben eintragen, warum siehst du hier

[Diese Nachricht wurde von Bernd P am 23. Mrz. 2005 editiert.]

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 23. Mrz. 2005 12:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Frank88:
Mir geht's aber eigentlich darum, daß jeder, der von mir eine Lisp-Datei bekommt, diese hinkopieren kann, wo er will und das ganze trotzdem funktioniert. Sonst ist das immer mit ellenlangen Erklärungen verbunden und wer jetzt in Windows und seinen Ordnerstrukturen nicht so bewandert ist, verliert schonmal die ein oder andere Datei.

Lieber Frank88,
so einen Quatsch würde ich nicht mal in Erwägung ziehen. Ein selbstsuchendes Lisp? Dann schreib' lieber eine "ellenlange Erklärung".
Wenn man das schlau angeht, ist die gar nicht so lang. Und wer "schonmal die ein oder andere Datei verliert" gehört IMHO nicht an einen Rechner sondern auf den Bau oder in eine Putzkolonne oder sonstwohin, jedenfalls an einen Arbeitsplatz wo er mit Dateistrukturen nix zu tun hat. Wenn Du sicherstellen willst das der User Deine Dateien variabel positionieren kann und Acad das auch mitbekommt, solltest Du darüber nachdenken ob eine Windows-Setup Routine nicht sinnvoll wäre (zu dem Thema hatten wir bereits diverse Threads und Lösungsansätze). IMHO ist das aber für'n paar Lisp-Tools VIIIIEEEELLL aufwändiger als mal eben 'ne Readme zu schreiben.

------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Frank88
Mitglied



Sehen Sie sich das Profil von Frank88 an!   Senden Sie eine Private Message an Frank88  Schreiben Sie einen Gästebucheintrag für Frank88

Beiträge: 153
Registriert: 11.10.2004

AutoCAD 2019/C3D

erstellt am: 23. Mrz. 2005 15:38    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Zitat:
Original erstellt von marc.scherer:
  Und wer "schonmal die ein oder andere Datei verliert" gehört IMHOIn my humble oppinion (Meiner Meinung nach) nicht an einen Rechner sondern auf den Bau oder in eine Putzkolonne oder sonstwohin, jedenfalls an einen Arbeitsplatz wo er mit Dateistrukturen nix zu tun hat...

Hallo Marc,

super Idee, das mit dem Bau... Und was mache ich, wenn die da schon sind??? Als jemand, der programmiert, kann man sich nur schlecht vorstellen, welche Schwierigkeiten der gewöhnliche User hat, ganz zu schweigen vom DAU. Das Betriebssystem unterstützt solche Ignoranz ja von Version zu Version auch immer mehr. Zu den - euphemistisch interpretiert - ironischen Beiträgen im Forum: War ja nur 'ne Frage! Ich schreibe die Progrämmchen auch nicht hauptberuflich (nicht mal Arbeit im kuschelig warmen Büro - bei der Gelegenheit noch 'nen Gruß an tunnelbauer) und bin, was AutoLISP angeht weiß der Kuckuck keine Leuchte. Ich weiß jetzt, daß es wohl nicht so einfach geht, wie ich gehofft hatte. Dann muß man sich eben was anderes überlegen. Und wenn ich mal viel Zeit habe, wird's vielleicht doch die Suchroutine. Schaden kann's ja nicht.

Gruß, Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Bernd P
Ehrenmitglied V.I.P. h.c.
cook-general



Sehen Sie sich das Profil von Bernd P an!   Senden Sie eine Private Message an Bernd P  Schreiben Sie einen Gästebucheintrag für Bernd P

Beiträge: 3358
Registriert: 07.06.2001

W10-64bit, AMD Ryzen 7 3700X,32GB RAM, Sapphire Pulse Radeon RX 570 8G G5, Canon TX-3000 MFP, Maus Cherry MW4500, Sub:Infrastructure Design Suite, Office 365

erstellt am: 23. Mrz. 2005 16:28    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Servus

Naja man könnte sich eine *.bat schreiben die die LISP in einen Standardsupportordner schreibt (z.B. gleich in "C:\Programme\AutoCAD 2004").

Aber man kommt halt bei PC-Benutzeranpassungen leider nicht weit ohne wenigstens Grundkenntnisse von der Materie.

Ps.: Der DAU schläft nie.

------------------
"Warum Einfach es geht auch kompliziert". Schöne Grüsse aus der Steiermark  Bernd P.
Bitte Supportangaben eintragen, warum siehst du hier

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Frank88
Mitglied



Sehen Sie sich das Profil von Frank88 an!   Senden Sie eine Private Message an Frank88  Schreiben Sie einen Gästebucheintrag für Frank88

Beiträge: 153
Registriert: 11.10.2004

AutoCAD 2019/C3D

erstellt am: 23. Mrz. 2005 18:26    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Bernd,

so ähnlich habe ich's auch schon probiert - mit dem WSH als *.vbs. Soviel weiß dann aber der DAU auch, daß sich dahinter Viren verstecken können. Also wird's gelöscht. Und es löst das eigentliche Problem nicht, daß ich die Dateien meist per eMail verschicke. Wer die Möglichkeit hat, sollte mal bei diversen eMail-Programmen versuchen, Anlagen zu speichern. Das landet alles sonstwo, wenn man den ENTER-ENTER-Doppelschlag im Finger hat. Da ist dann im Zweifel auch die tolle Installationsroutine verschollen. Ein bischen Hoffnung hatte ich noch bezüglich Systemvariablen - da wird ja allesmögliche gespeichert, vielleicht ja auch die letzte geladene LSP. Gibt's aber nicht. Ich werde wohl doch 'ne Standard-eMail anlegen, als schnelle Hilfe. Und dann vielleicht auch irgendwann mal VBA bemühen.

Gruß, Frank

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 23. Mrz. 2005 20:13    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von Frank88:
Und was mache ich, wenn die da schon sind??? Als jemand, der programmiert, kann man sich nur schlecht vorstellen, welche Schwierigkeiten der gewöhnliche User hat, ganz zu schweigen vom DAU.

Hi Frank,
wenn die schon da sind, schreibst Du 'ne DAU-Readme in PDF, schön mit bunten Bildern und so... Oder Du nimmst Dir Zeit und regst mal eine interne Schulung in Sachen Dateiablage / Windows Grundkurs an.
Ich kann mir sehr gut vorstellen was für Schwierigkeiten der gewöhnliche User hat. Viele meiner Projekte befassen sich mit diesen Usern. Da hilft eben nur, schulen, schulen, schulen. Das hatte ich leider in meinem ersten Post vergessen zu sagen. Also nix gegen DAU's, man muss jedem User eben nur eine vernünftige Einführung geben. Und da reicht in der Regel eben ein gut geschriebenes Readme aus (ruhig mal von anderen querlesen lassen und nach Anregungen verbessern...)

------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Brischke
Moderator
CAD on demand GmbH




Sehen Sie sich das Profil von Brischke an!   Senden Sie eine Private Message an Brischke  Schreiben Sie einen Gästebucheintrag für Brischke

Beiträge: 4171
Registriert: 17.05.2001

AutoCAD 20XX, defun-tools (d-tools.eu)

erstellt am: 27. Mrz. 2005 09:25    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Hallo Frank,

auch wenn ich Marc Recht gebe, dass die User in solchen grundlegenden Dingen fit sein(gemacht werden) müssen, nachfolgend ein paar Lisp-Zeilen, die eine Datei suchen.
An diesem Codebeispiel kann man sehr gut das von CADmium vorgeschlagene rekursive Herangehen sehen.

Bei Fragen ...

Grüße Holger

Code:

;|
Aufruf:
(FILE:search "startverzeichnis" "dateiname")
Bsp:
(FILE:search "c:" "test.dwg")
|;
(defun FILE:search (DIR FILENAME / ergli)
  (search_File DIR FILENAME)
  ergli
  )
(defun search_File_sub (DIR FILENAME / erg)
  (if (not(Setq FOUND (VL-DIRECTORY-FILES DIR FILENAME)))
    (mapcar '(lambda (SUBDIR)
      (if (not (member SUBDIR '(".." ".")))
(search_File
  (strcat DIR "\\" SUBDIR)
  FILENAME
  )
)
      )
    (VL-DIRECTORY-FILES DIR nil -1)
    )
    (setq ergli (cons (strcat DIR "\\" (car FOUND)) ergli))
    )
  (if ergli ergli erg)
  )

------------------
Holger Brischke
CAD on demand GmbH                              Autodesk User Group Central Europe
Individuelle Lösungen von Heute auf Morgen.              AUGCE Manager Deutschland

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

AB-CAD
Mitglied
techn. Zeichner/Sachbearbeiter HLS

Sehen Sie sich das Profil von AB-CAD an!   Senden Sie eine Private Message an AB-CAD  Schreiben Sie einen Gästebucheintrag für AB-CAD

Beiträge: 8
Registriert: 30.08.2005

8 PC mit ACAD 2000 - 2006
diverse Haustechnik-Komponenten von
CATS, Linear, ESS und AB-CAD Eigenbau

erstellt am: 30. Aug. 2005 14:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Hallo an alle,

als "Neuer" im CAD.de-Forum möchte ich mich gerade in dieses Thema einklinken. Es ist durchaus nützlich für den LISP-Anwender, den Pfad einer bekannten Datei zu ermitteln. So wäre es z.B. denkbar, eine Install-Routine in LISP zu schreiben (z.B. install.lsp), die aus Autocad über appload aufgerufen wird. Die install.lsp ist dabei auf diskette oder cd (ist ja auch eine install) und ist damit nicht bestandteil des autocad-Suchpfades. Die install soll diverse weitere dateien auf die festplatte (Abfrage der Autocadumgebung via getenv..) gezielt auf der Festplatte oder dem netzwerk plazieren. Zum Bewegen der Dateien und anlegen diverser verzeichnisse ist doslib (Mcneel) und getfiled (zur Eingabe durch Benutzer) durchaus eine große Hilfe. Nur wie findet man am schnellsten den Pfad, aus dem die install-Lisp gestartet wurde (die Laufwerksbuchstaben differierun nun mal von Rechner zu rechner)? _appload und die Systemvariablen geben leider meines wissens hier keine abfragbare Info, und es wäre echt eine unnötige doppelte Abfrage, den User durch getfiled-Aufruf nochmals den CD- bzw. Diskettenpfad angeben zu lassen, von dem aus weitere Dateien in die Autocad-Umgebung kopiert werden sollen.
Die Frage ist also durchaus berechtigt: Wie kann ich den Pfad einer nicht aus der Autocadumgebung geladenen Datei (also kein findfile etc.) ermitteln, ohne nochmals über getfiled eingeben zu lassen??

PS: Der Installshield etc. schien mir für das automatisierte installieren von einigen wenigen Dateien doch eher, wie mit kanonen auf spatzen geschossen (Kosten/Nutzen), zumal die lsp-Variante für mich als ausschließlichen lisp-Programmer den Vorteil bietet, gezielt die Autocad-Umgebung, Version etc. direkt abzufragen und dann entsprechend der Version zwischen den zu installierenden Dateien zu wählen.

PS2: Wetten, Holger hat schon eine Idee?

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

CADmium
Moderator
Maschinenbaukonstrukteur




Sehen Sie sich das Profil von CADmium an!   Senden Sie eine Private Message an CADmium  Schreiben Sie einen Gästebucheintrag für CADmium

Beiträge: 13508
Registriert: 30.11.2003

.

erstellt am: 30. Aug. 2005 14:10    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von AB-CAD:
Wie kann ich den Pfad einer nicht aus der Autocadumgebung geladenen Datei (also kein findfile etc.) ermitteln, ohne nochmals über getfiled eingeben zu lassen??

.. mit Lisp : geht nicht!

Zitat:

PS2: Wetten, Holger hat schon eine Idee?


.. wetten nicht?!

------------------
- Thomas -
"Bei 99% aller Probleme ist die umfassende Beschreibung des Problems bereits mehr als die Hälfte der Lösung desselben."

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 30. Aug. 2005 14:56    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Ich wundere mich zwar, dass so ein alter Thread wieder aufgewärmt wird, aber na gut...

Noch mehr wundere ich mich aber über die Idee - die halte ich nämlich für eine ausgesprochen schlechte;-)

Das ganze Dateisystem heutiger Rechner beruht doch auf dem Prinzip: Gleiche Dateinamen in verschiedenen Verzeichnissen sind erlaubt. Und jetzt soll dieses Prinzip außer Kraft gesetzt werden, oder was? Wenn einer hier ein Lisp-Progrämmchen namen "MyLittleLisp.lsp" installiert, dann darf keine andere Datei auf dem Rechner mehr so heißen, oder wie? Wer also mal pauschal sein gesamtes AutoCAD-Verzeichnis zwecks Backup in ein anderes Verzeichnis kopiert, ist schon gebräunt. Es ist doch Sinn und Zweck des Acad-Suchpfades, dass nur die Dateien gefunden werden, die darin liegen, und nicht die Dateien von den Backups der letzten Woche usw.

Und vielleicht schreibt der Besitzer des Zielrechners auch gerade an einem "MyLittleLisp.lsp", das aber was ganz anderes macht? Und hat davon auch noch 93 Versionen auf seinem Rechner installiert...

Mein heisser Tipp in diesem Fall: Das Lisp-Programm mit einer Setup.exe ausliefern. Diese kopiert sich auf den Zielrechner, wirft eine Suche über alle Laufwerke (einschl. Netz- und Wechsel-) und kopiert dann alles dahin, wo eine Setup.exe gefunden wird;-)))

Leute, befasst euch mit was Vernünftigem!

Gruß, Axel Strube-Zettler

------------------
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

marc.scherer
Ehrenmitglied V.I.P. h.c.
CAD-Administrator



Sehen Sie sich das Profil von marc.scherer an!   Senden Sie eine Private Message an marc.scherer  Schreiben Sie einen Gästebucheintrag für marc.scherer

Beiträge: 2490
Registriert: 02.11.2001

Windows 10 64bit
AutoCAD Architecture 2018/2019 (deu/eng)
AEC-Collection 2019 (Revit und Zeugs)
Wenn sich's nicht vermeiden läßt:
D-A-CH Erweiterung (mies implementierter Schrott)

erstellt am: 30. Aug. 2005 15:34    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

<ironie>
Aber Axel...
Wir versehen doch unsere Dateinamen immer mit 'nem verschlüsselten Code den es auf der der Welt immer nur einmal gibt :dream:.
Bei mir heißen die Dateien immer:
MylittleLisp.AC76BA86-1033-F400-7760-000000000002.lsp
Also bitte Leute... Weitermachen, ich will Ergebnisse sehen!
</ironie>

------------------
Ciao,
Marc

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

mapcar
Mitglied
CADmin



Sehen Sie sich das Profil von mapcar an!   Senden Sie eine Private Message an mapcar  Schreiben Sie einen Gästebucheintrag für mapcar

Beiträge: 1250
Registriert: 20.05.2002

Time flies like an arrow, fruit flies like a banana (Groucho Marx)

erstellt am: 31. Aug. 2005 11:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für Frank88 10 Unities + Antwort hilfreich

Zitat:
Original erstellt von marc.scherer:
MylittleLisp.AC76BA86-1033-F400-7760-000000000002.lsp

Kannst du mir die mailen? Ich sammle Dateien, die *exakt* so heißen;-)

Gruß, Axel Strube-Zettler

------------------
Meine AutoLisp-Seiten Mein Angriff auf dein Zwerchfell Mein Lexikon der Fotografie Mein gereimtes Gesülze

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2023 CAD.de | Impressum | Datenschutz