FastFiber

padnaam hoger opvragen

Gestart door martin, vr 29 04 2016, 23:46:20

Vorige topic - Volgende topic

martin

Hallo, met onderstaande code kan ik de padnaam opvragen.
Weet iemand hoe ik 3 mappen hoger te pakken krijg ?
via dos misschien? cd.. cd.. cd.. maar hoe vang ik die naam?


(setq teknaam (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 0)))    ;; zoekt tekening padnaam

dit dus niet :
(setq filenam (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 34)))
want de padnamen hebben niet altijd 34 karakters

Bedankt alvast,
Martin

roy_043

Kan waarschijnlijk eleganter maar dit werkt:
; (ParentDirectory (getvar 'dwgprefix) 1) => "D:\\bKG_tmp"
; Let op:
; (ParentDirectory (getvar 'dwgprefix) 1000) => "D:"
(defun ParentDirectory (path n)
  (setq path (vl-string-right-trim "\\/" path))
  (repeat n (setq path (vl-filename-directory path)))
  path
)

gery

#2
Citaat van: martin op vr 29 04 2016, 23:46:20Weet iemand hoe ik 3 mappen hoger te pakken krijg ?
(setq #path4 (vl-filename-directory (vl-filename-directory (vl-filename-directory (vl-filename-directory (getvar 'dwgprefix))))))
Citaat van: martin op vr 29 04 2016, 23:46:20(setq teknaam (substr (getvar "dwgprefix") 1 (- (strlen (getvar "dwgprefix")) 0)))    ;; zoekt tekening padnaam
(getvar "dwgprefix") doet exact hetzelfde.

Edit: (vl-load-com) niet vergeten!
AutoCAD 2020 - Windows 10

roy_043

#3
Citaat van: gery op za 30 04 2016, 11:54:18
(getvar "dwgprefix") doet exact hetzelfde.
Niet helemaal. De code van martin verwijdert het laatste karakter (= 'path separator').

Edit:
Oops: Ik zie dat ik niet goed heb gelezen. Gery heeft gelijk. Door (- (strlen (getvar "dwgprefix")) 0) i.p.v. (- (strlen (getvar "dwgprefix")) 1) heeft de code geen effect.

martin

Super bedankt !!! dit kan ik gebruiken.
groet,Martin

martin

nog een vraag :
Met "dwgprefix" kan ik het pad zoeken
Hoe kan ik het AANTAL .dxf files uit deze map halen ?
die heb ik nodig voor mijn loop.
iets met "length" ? dan moet ik eerst een list hebben, toch ? Hoe kan dat?
Alvast bedankt,
groet, Martin

roy_043

(vl-directory-files path "*.dxf" 1)