#| Makro zum auslesen der installierten Drucker in Windows erstellt von Wolfgang Seel am 25.03.2025 Pfad für Druckerliste.txt kann individuell angepasst werden. |# (defun Drucker_Liste_holen (); (setq Drucker_Liste (Drucker_Liste_holen)) ;Variable Blegen (oli::sd-sys-exec (format nil "wmic printer list brief > C:\\Druckerliste.txt")) (setq INstream_Datei (format nil "C:/Druckerliste.txt" ) ) (setf Druckerliste nil) (setq Dummy 0) (with-open-file (instream INstream_Datei) (loop for line = (read-line instream nil) while line do (setq Dummy (+ Dummy 1)) (If (not (= Dummy 1)) (If (equal (subseq line 0 9) " ") (progn ; (push (subseq line 10 (search "0 3" line :from-end t)) SW::Druckerliste) ; Return Zeichen am Ende muss gelöscht werden (setq line (subseq line 10 (search "0 3" line :from-end t)) ) ; Return Zeichen am Ende muss gelöscht werden (setq line (subseq line 0 (search " " line :start2 0))) (push line Druckerliste) );progn );endif );endif );endloop ); with-open-file wird geschlossen (princ Druckerliste) ); endif