明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 819|回复: 1

[提问] vl-file-delete删除只读文件代码的使用方法

[复制链接]
发表于 2017-12-25 10:23:45 | 显示全部楼层 |阅读模式
就是先把文件改为只读取,这个代码国外论坛找的,但是怎么用?没看明白....例如我想把文件只读属性去掉。
  1. (defun SetRO (/ afile fso ofile ro)
  2.    (cond
  3.      ((and (setq aFile (getfiled "" "" "" 4))
  4.            (setq fso (vlax-create-object "Scripting.FilesystemObject"))
  5.            (setq oFile (vlax-invoke fso 'GetFile aFile))
  6.       )
  7.       (vlax-put-property oFile 'Attributes (setq ro (- 1 (logand 1 (vlax-get-property oFile 'Attributes)))))
  8.       (princ (strcat "File set to " (nth ro '("Read-write" "Read-only"))))
  9.       (vlax-release-object oFile)
  10.       (vlax-release-object fso)
  11.      )
  12.    )
  13.    (princ)
  14. )



发表于 2021-8-17 11:53:41 | 显示全部楼层
本帖最后由 nyistjz 于 2021-8-17 12:38 编辑

  • (defun av:att-RO-f ()
  •   (and
  •     (findfile file)
  •     (setq fso (vlax-create-object "Scripting.FilesystemObject"))
  •     (setq oFile (vlax-invoke fso 'GetFile File));易报错(发生意外),原因尚不清楚
  •   )
  • )
  • ;查询文件的读写属性,0为可读写,1为只读,返回参数为ATT。
  • (defun av:get-att-RO (file / att);需要引用属性参数时,ATT参数外置即可
  •   (av:att-RO-f)
  •   (setq att (logand 1 (vlax-get-property oFile 'Attributes)))
  • )
  • ;文件属性读写修改,value=0为可写,1为只读,2为改变读写属性
  • (defun av:put-att-RO (file value)
  •   (cond
  •     ((av:att-RO-f)
  •       (if (= value 2)(setq value (- 1 (logand 1 (vlax-get-property oFile 'Attributes)))))
  •       (vlax-put-property oFile 'Attributes value)
  •       (princ (strcat "\n文件" file "属性已设为:" (nth value '("可读写!" "只读!"))))
  •       (vlax-release-object oFile)
  •       (vlax-release-object fso)
  •     )
  •   )
  • )




如果只想改为可读写
(av:put-att-RO file 0)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-9-21 07:04 , Processed in 2.681395 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表