乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 67|回复: 12

[编程交流] 获取并设置文件属性ch

[复制链接]

18

主题

111

帖子

93

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:30:00 | 显示全部楼层 |阅读模式
亲爱的程序员
 
 
我需要一个小例程来设置文件的属性(即只读或隐藏)
据我所知,您需要使用脚本。FileSystemObject,但我还不熟悉
 
 
同一个例程应该能够读取同一个文件,并返回设置的属性
获取att的结果也可以是数字
i、 e.2仅隐藏,1仅为只读
2081=只读+存档+内容索引+压缩
 
 
亲切的问候
回复

使用道具 举报

4

主题

2143

帖子

2197

银币

限制会员

铜币
-24
发表于 2022-7-5 15:38:53 | 显示全部楼层
你想用什么编程语言?
回复

使用道具 举报

18

主题

1529

帖子

973

银币

中流砥柱

Rank: 25

铜币
649
发表于 2022-7-5 15:42:02 | 显示全部楼层
请尝试acet file attr(ExpressTools)。
回复

使用道具 举报

18

主题

111

帖子

93

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:45:19 | 显示全部楼层
很抱歉没有具体说明lol
 
*lisp是一种语言
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 15:54:51 | 显示全部楼层
也许这会让你朝着正确的方向开始:
  1. (defun _fileatts (file / f sfso)
  2. (cond        ((and (findfile file) (setq sfso (vlax-get-or-create-object "Scripting.FileSystemObject")))
  3. (setq f (vlax-invoke sfso 'getfile file))
  4. (setq f (vlax-get f 'attributes))
  5. (vlax-release-object sfso)
  6. f
  7. )
  8. )
  9. )
  10. (_fileatts "G:\\Ron\\test.dwg")
回复

使用道具 举报

18

主题

111

帖子

93

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
90
发表于 2022-7-5 15:59:03 | 显示全部楼层
@罗恩琼普
 
 
谢谢你这么做
你还知道如何设置ATT吗?
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:01:13 | 显示全部楼层
这似乎有效:
  1. (defun _readonly (file flag / f n sfso)
  2. (cond        ((and (findfile file) (setq sfso (vlax-get-or-create-object "Scripting.FileSystemObject")))
  3. (setq f (vlax-invoke sfso 'getfile file))
  4. (setq n (vlax-get f 'attributes))
  5. (cond (flag (and (/= 1 (rem n 32)) (vlax-put f 'attributes (1+ n))))
  6.        ((and (= 1 (rem n 32)) (vlax-put f 'attributes (1- n))))
  7. )
  8. (vlax-release-object sfso)
  9. )
  10. )
  11. )
  12. ;; Set read only
  13. (_readonly "G:\\Ron\\test2.dwg" T)
  14. ;; Remove read only
  15. (_readonly "G:\\Ron\\test2.dwg" nil)
回复

使用道具 举报

66

主题

1552

帖子

1514

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
325
发表于 2022-7-5 16:08:06 | 显示全部楼层
好东西,罗恩!
回复

使用道具 举报

114

主题

1万

帖子

1万

银币

中流砥柱

Rank: 25

铜币
543
发表于 2022-7-5 16:10:35 | 显示全部楼层
很好,不过由于文件属性是位编码的,我建议用以下内容代替内部cond表达式:
  1. (vlax-put f 'attributes (boole (if flag 7 4) 1 (vlax-get f 'attributes)))
回复

使用道具 举报

58

主题

3353

帖子

33

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1761
发表于 2022-7-5 16:17:16 | 显示全部楼层
谢谢
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-14 00:29 , Processed in 0.594206 second(s), 72 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表