更改文件属性
有人知道如何用LISP将几个文件的属性更改为只读吗? 你可以用VLisp来做这件事,这在这里搜索之前已经被评论过了。 感谢Bigal的回复。我找到了这个例程,但它只适用于一个文件。我想一次更改几个文件。
(defun c:SetRO (/ afile fso ofile ro)
;;by stig.madsen
(cond
((and (setq aFile (getfiled "" "" "" 4))
(setq fso (vlax-create-object "Scripting.FilesystemObject"))
(setq oFile (vlax-invoke fso 'GetFile aFile))
)
(vlax-put-property oFile 'Attributes (setq ro (- 1 (logand 1 (vlax-get-property oFile 'Attributes)))))
(princ (strcat "File set to " (nth ro '("Read-write" "Read-only"))))
(vlax-release-object oFile)
(vlax-release-object fso)
)
)
(princ)
)
只需建立文件列表(请参阅VL DIRECTORy files函数)并使用FOREACH调整其属性。
调整文件属性的另一种方法是DosLIB包(免费软件)中的DOS_ATTRIB;请注意,这支持通配符。
从脚本中调用LISP,并通过ScriptPro运行批处理,是否也可行?也许是一种更简单的方法? 将更改脚本(defun c:SetRO(/afile-fso-ofile-ro)重新编写为(defun-SetRO(afile/fso-ofile-ro)
剧本
(加载“setro”)
(setro“C:\acadtemp\dwg1”)
(setro“C:\acadtemp\dwg2”)
看到这个了吗
http://www.lee-mac.com/bfind.html
页:
[1]