首页 > 解决方案 > 如何在 Ruby 中写入 Windows 文件属性?

问题描述

我想创建一个属性并在 Windows 上的文件属性中存储一个值。您可以在编写单击文件属性>详细信息时查看此类属性。如何使用 Ruby 在此处创建新的属性/值?[![在此处输入图像描述][1]][1

标签: rubyio

解决方案


这些属性是特定于 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 处理文件的方式产生影响。


推荐阅读