ruby - 如何在 Ruby 中写入 Windows 文件属性?
问题描述
我想创建一个属性并在 Windows 上的文件属性中存储一个值。您可以在编写单击文件属性>详细信息时查看此类属性。如何使用 Ruby 在此处创建新的属性/值?[![在此处输入图像描述][1]][1
解决方案
这些属性是特定于 Windows 平台的,我相对肯定 Ruby 没有内置机制来改变它们。
这意味着您要么必须搜索为您执行此操作的 gem,要么更简单的方法是简单地调用平台命令来更改它们。该attrib
命令用于更改那些,可以使用 调用system
。
基本语法是这样的:
attrib [+ attribute | - attribute] [pathname]
你不能只添加你想要的任何属性,有特定的标志,它们每个都意味着什么。
- R = 只读
- H = 隐藏
- S = 系统
- D = 目录
- A = 存档
- C = 压缩
- E = 加密
- N = 未编入索引
- L = 重新解析点
- O = 离线
- P = 稀疏文件
- I = 未编入索引
- T = 临时
所以,如果你想添加“隐藏”属性,并删除“只读”属性......
system 'attrib +H -R myfile.txt'
这可能不是标志的完整列表,但绝对是最常见的。不幸的是,您不能只添加任意字符串,并且更改它们将对 Windows 处理文件的方式产生影响。
推荐阅读
- javascript - 我如何不分配新值并且不返回任何反应?
- button - SetOnClickListener 用于 RecyclerView 中的 Button 以访问 viewmodel 并对房间数据库执行操作
- bootstrap-vue - bootstrap-vue 自定义数据渲染按item key排序(比formatter简单)
- javascript - 未捕获的类型错误:L.minichart 不是函数(传单饼图)
- python - 截断表然后用Python将数据插入MYSQL表只插入最后一条记录
- asp.net-mvc - 在 MVC 视图中绑定太多属性
- java - 如何配置 RabbitMQ 客户端以使用 SSL?
- reactjs - setState() 不给数组赋值
- azure - 我们如何记录与部署在 Teams 上的 Web 应用程序机器人 Azure 的对话?
- vue.js - 在每个间隔中具有递减顺序的 Highcharts