(defun getDriveSN (Drv / DrvObj FilSys RetVal) (setq FilSys ( vlax-create-object "Scripting.FileSystemObject") RetVal ( cond ((= ( vlax-invoke FilSys 'DriveExists Drv) 0) 0) ((setq DrvObj ( vlax-invoke FilSys 'GetDrive Drv)) ( cond ((= ( vlax-get DrvObj 'IsReady) 0) -1) ( list ( vlax-get DrvObj 'SerialNumber)) ) ) ) ) (setq sn RetVal) ; 設變數 sn 為指定磁碟機的序號 ( serial number) (if DrvObj ( vlax-release-object DrvObj) ) ( vlax-release-object FilSys) RetVal )
; (getDriveSN "c")
;
(getDriveSN "c:")
; (getDriveSN "d")
; (getDriveSN "d:")