返回指定文件所在目录下的所有该类型文件名的列表
本帖最后由 guosheyang 于 2022-8-2 09:09 编辑给朋友们共享个自定义命令,getfiles_of_dir功能:返回指定文件所在目录下的所有该类型文件名的列表
;自定义命令: 返回指定文件所在目录下的所有该类型文件名的列表(defun c:getfiles_of_dir(/ F1 HZ MLM SYWJWJMB) (setq hz(getstring "\n请指定文件后缀:")) (setq f1(GETFILED "选取文件" "" hz 4)) (setq mlm(vl-filename-directory f1));目录名 (setq sywj(vl-directory-files mlm (strcat "*." hz) 1));所有文件 (foreach x sywj(setq wjmb(cons(vl-filename-base x)wjmb)) ))
感谢大佬分享 本帖最后由 gaics 于 2022-8-2 08:33 编辑
(setq sywj (vl-directory-files mlm (strcat "*." hz) 1))
建议vl-directory-files函数尾部加“1”,仅列出文件,这样后缀使用通配符*就只输出文件名,而不会包含“..”“.”
修改前后对比:
命令: GETFILES_OF_DIR
请指定文件后缀:*
("设计说明" "封面图" "v2_原方案" ".." ".")
命令: GETFILES_OF_DIR
请指定文件后缀:*
("设计说明" "封面图" "v2_原方案")
本帖最后由 guosheyang 于 2022-8-2 09:26 编辑
gaics 发表于 2022-8-2 08:31
(setq sywj (vl-directory-files mlm (strcat "*." hz) 1))
建议vl-directory-files函数尾部加“1”,仅列 ...
好的 谢谢你指出问题! 不过我刚才在我的电脑上测试了下,即使不加那个1,运行后也没有列出没有后缀的哪两个 点和点点的情况,不知道是设置啥的不一样还是啥的? 当然加上1可能稳妥一点 guosheyang 发表于 2022-8-2 09:05
好的 谢谢你指出问题! 不过我刚才在我的电脑上测试了下,即使不加那个1,运行后也没有列出没有后缀的 ...
不客气!可能是软件版本问题?你的第一行变量SYWJWJMB没有空格,不过这个可能没有影响。 感谢大佬分享
页:
[1]