收藏73哥函数 程序---列出文件夹下所有子文件荚或者文件名
命令: (vl-directory-files (GetFolder"\n批量修改子文件夹名称") "*.*" -1) ("."
".." "A" "E" "ES匝道" "F匝道" "sc" "一点点" "万博一1路" "万博一路"
"万博一路坡脚" "京台高速" "港B五标" "湘潭" "积木法" "穗丰年路" "西宁绕城"
"进港南路")
命令: 'VLIDE
命令:
命令: (vl-directory-files (GetFolder"\n批量修改子文件夹名称") "*.*" 1)
("其他参数.txt" "项目名称.txt")
命令: 'VLIDE
命令:
命令: (vl-directory-files (GetFolder"\n批量修改子文件夹名称") "*.*" 0) ("."
".." "A" "E" "ES匝道" "F匝道" "sc" "一点点" "万博一1路" "万博一路"
"万博一路坡脚" "京台高速" "其他参数.txt" "港B五标" "湘潭" "积木法" "穗丰年路"
"西宁绕城" "进港南路" "项目名称.txt")
语法 (vl-directory-files [directory pattern directories])
功能
列出给定目录中的所有文件。
说明 1)参数 directory 为字符串,指定要收集文件的目录。若未指定该参数或参数为 nil,那么vl-directory-files 使用当前目录。 2)参数 pattern 为字符串,包含文件名的 DOS 方式。如果未指定该参数或参数为 nil,vl-directory-files 假定为 "*.*"。 3)directories 为整数型,指定返回的表中是否包含路径名。可以指定下列值之一: -1 仅列出目录。 0 列出文件和目录(缺省值)。 1 仅列出文件。 返回值: 文件和路径列表。若没有符合指定方式的文件,则返回 nil。 - (defun t1(patha a1 b1)
- (if(vl-file-directory-p patha)
- (foreach x(vl-directory-files patha(strcat"*"a1"*")-1)
- (if(vl-string-search a1 x)
- (vl-file-rename(strcat patha"\"x)(strcat patha"\"(vl-string-subst b1 a1 x)))))))
- (defun GetFolder(msg / WinShell shFolder path)
- (setq winshell (vlax-create-object "Shell.Application")
- shFolder (vlax-invoke-method WinShell 'BrowseForFolder 0 msg 1))
- (if (vl-catch-all-error-p(vl-catch-all-apply'(lambda ()(setq shFolder(vlax-get-property shFolder'self))
- (setq path (vlax-get-property shFolder 'path)))))nil path))
- (defun c:t1(/ patha a b)
- (vl-load-com)
- (if(and(setq patha(GetFolder"\n批量修改子文件夹名称"))
- (setq a(getstring"要被替换的字符")b(getstring"替换为")))
- (t1 patha a b)))
- ;文件夹名称都可以批量改,文件名当然也可以
- ;仔细看下vl-directory-files的用法。。。。你就可以参照t1自己写一个改文件名的了
|