ruby - 如何在 Ruby 中写入 Windows 文件属性?

标签 ruby io

我想创建一个属性并在 Windows 上的文件属性中存储一个值。您可以在写入时查看这些属性,单击文件属性>详细信息。我如何使用 Ruby 在此处创建新的 att/value?[![在此处输入图像描述][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 处理文件的方式。

关于ruby - 如何在 Ruby 中写入 Windows 文件属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51599329/

相关文章:

ruby-on-rails - 我修复了一个失败的 rails 迁移,但为什么这个修复有效?

java - 应用程序包路径

java - 读取具有特定格式的文本文件

ruby-on-rails - 从 Rails : dependency issues 调用外部 rake 任务

ruby - 两个 Sinatra 应用程序,共享数据映射器数据库

io - 打开文件模式字符串 w+

Java:printf 不适用于参数(字符串、 double )

C 中的命令行参数和 ftruncate

ruby - 如何在 Jenkins 服务器 (Linux) 上运行 Cucumber headless 测试

ruby 导轨 : How Rails handle same method name in in two different gems