关于剥离文件夹,请考虑以下递归函数:
- (defun stripfolder ( dir lvl / pos )
- (if (and (< 0 lvl) (setq pos (vl-string-position 92 dir)))
- (stripfolder (substr dir (+ 2 pos)) (1- lvl))
- dir
- )
- )
举几个例子:
- _$ (stripfolder "C:\\Blocks\\2dlib\\Trees\\Plan" 2)
- "2dlib\\Trees\\Plan"
- _$ (stripfolder "C:\\Blocks\\2dlib\\People" 2)
- "2dlib\\People"
- _$ (stripfolder "C:\\Blocks\\2dlib\\Trees\\Plan" 1)
- "Blocks\\2dlib\\Trees\\Plan"
- _$ (stripfolder "C:\\Blocks\\2dlib\\Trees\\Plan" 3)
- "Trees\\Plan"
|