文件被隐藏了吗?

2024-03-31

如何确定某个路径是否指向隐藏文件/文件夹?

NSString *file = @"/my/file/some.where";
BOOL fileIsHidden = // <-- what do I do here?

我知道隐藏文件以句点为前缀。这不是隐藏文件的唯一标准。我在某处读到有一个 .hidden 文件还可以配置隐藏的文件。

是否有一种 Cocoa/Carbon 方法可以轻松找到这个问题,而无需重写所有这些逻辑并从各种来源收集信息?

编辑:kLSItemInfoIsInvisible 检查似乎适用于某些文件。看来并没有隐藏:



/dev
/etc
/tmp
/var
  

默认情况下,所有这些都被 Finder 隐藏。


正如海报所指出的,它似乎不适用于 /etc 和 /var 之类的,所以我修改了方法。

现在它需要一个“isFile”布尔值,YES 表示它是一个文件,NO 表示一个目录

BOOL isInvisible(NSString *str, BOOL isFile){
        CFURLRef inURL = CFURLCreateWithFileSystemPath(kCFAllocatorDefault, (CFStringRef)str, kCFURLPOSIXPathStyle, isFile);
        LSItemInfoRecord itemInfo;
        LSCopyItemInfoForURL(inURL, kLSRequestAllFlags, &itemInfo);

        BOOL isInvisible = itemInfo.flags & kLSItemInfoIsInvisible;
        return (isInvisible != 0);
    }

    int main(){
           NSLog(@"%d",isInvisible(@"/etc",NO)); // => 1
           NSLog(@"%d",isInvisible(@"/Users",NO)); // => 0
           NSLog(@"%d",isInvisible(@"/mach_kernel",YES)); // => 1

    }

现在似乎对所有事情都有效!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

文件被隐藏了吗? 的相关文章

  • Java Swing For mac 中的 DJ Native Swing 浏览器

    我有一个用 Swing 制作的 Java 应用程序 并且使用了一个 DJ Native Swing 浏览器 当我尝试在 OS X 上使用它时 它抛出了一个NoClassDefFoundError尽管我添加了 swt jar 但始终如此 有人
  • 如何用 kevent() 替换 select() 以获得更高的性能?

    来自Kqueue 维基百科页面 http en wikipedia org wiki Kqueue Kqueue 在内核和用户空间之间提供高效的输入和输出事件管道 因此 可以修改事件过滤器以及接收待处理事件 同时每次主事件循环迭代仅使用对
  • OSX 上的 locale.getlocale() 问题

    我需要获取系统区域设置来执行许多操作 最终我想使用 gettext 翻译我的应用程序 我打算在 Linux 和 OSX 上分发它 但我在 OSX Snow Leopard 上遇到了问题 python Python 2 5 2 r252 60
  • VLCJ 无法在 Mac 上运行 - 插件 libvlccore.5.dylib

    我正在尝试让 VLCJ 在 Mac 和 PC 上运行 它在 Windows 7 64 位 下运行良好 但当我尝试在 Mac 上运行它时 它崩溃了 我指向 VLC dylib 文件的正确目录 但收到 使用 libvlccore 5 dylib
  • 所有平台上的java

    如果您想用 java 为 Windows Mac 和 Linux 编写桌面应用程序 那么所有这些代码都相同吗 您只需更改 GUI 即可使 Windows 应用程序更像 Windows 等等 如果不深入细节 它是如何工作的 Java 的卖点之
  • 超类与类SpecificationPolicy不匹配

    我得到了一个superclass mismatch for class SpecificationPolicy尝试安装或升级某些brew 软件包时出错 例如 更新安装 supabase CLI 时 brew install supabase
  • 为沙盒 Cocoa 应用程序创建临时文件

    我的应用程序是沙箱化的 根据最新的应用程序商店指南 我想创建一些临时文件 我可以这样做吗 如果 是 我可以在哪里这样做 有没有预先指定的路径 还有访问该路径的命令 您应该使用NSTemporaryDirectory 函数 它将查找并返回适合
  • Linux 可执行文件与 OS X“兼容”吗?

    如果您在基于 Linux 的平台上用 C 语言编译一个程序 然后将其移植以使用 MacOS 库 它会工作吗 来自编译器的核心机器代码在 Mac 和 Linux 上兼容吗 我问这个问题的原因是因为两者都是 基于 UNIX 的 所以我认为这是真
  • C++ 是否可以在 MacOS 上与 OpenMP 和 boost 兼容?

    我现在已经尝试了很多事情并得出了一些结论 也许 我监督了一些事情 但似乎我无法完成我想要的事情 问题是 是否有可能使用 OpenMP 和 boost 在 MacOS High Sierra 上编译 C 一些发现 如果我错了请纠正我 Open
  • 使用 C 在 OS X 中获取其他进程的 argv

    我想获得其他进程的argv 例如ps 我使用的是在 Intel 或 PowerPC 上运行的 Mac OS X 10 4 11 首先 我阅读了 ps 和 man kvm 的代码 然后编写了一些 C 代码 include
  • 如何在 OSX 上安装 numpy 和 scipy?

    我是 Mac 新手 请耐心等待 我现在使用的是雪豹 10 6 4 我想安装numpy和scipy 所以我从他们的官方网站下载了python2 6 numpy和scipy dmg文件 但是 我在导入 numpy 时遇到问题 Library F
  • 如何通过辅助功能 API 获取当前所选文本的全局屏幕坐标。

    我需要帮助来了解字典应用程序如何在任何应用程序上按 CMD CTRL D 时显示所选文本的以下弹出对话框 我想实施 我的可可应用程序具有相同的功能 我的应用程序将在后台运行 并显示有关所选文本的一些热键的建议 我已经实现了热键捕获 我只需要
  • Mac 上用户“postgres”的密码身份验证失败

    我在创建新的 psql 用户时遇到问题 因为我无法以 postgres 身份登录 psql 我已尝试过 1 sudo u postgres psql 2 sudo u postgres createuser img site P s e 他
  • 在 mac-os-x Yosemite 上调用“npm”时,Jenkins 构建步骤失败

    在开始之前 我想说我已经检查过这些答案 Jenkins 构建步骤在 npm install 上失败 https stackoverflow com questions 11564508 jenkins build step fails on
  • 需要一些建议来开始在 ARM(使用 Linux)平台上编程

    我 也许 很快就会在托管 Linux 发行版的 ARM 平台上工作 我不知道哪个发行版 我知道该项目涉及视频流 但我无法告诉你更多信息 其实我只收到通知 还没见到任何人 我从来没有在这样的平台上工作过 所以我的想法是在项目开始之前进行测试
  • MacOS 10.15 (Catalina) 中的 ASWebAuthenticationSession

    我正在尝试实施新的ASWebAuthenticationSession在 MacOS 10 15 中 我对callbackURLScheme 头文件为ASWebAuthenticationSession says 回调 URL 通常具有自定
  • 使用 Webkit 的调试版本运行 Safari

    我通过运行以下命令编译了 webkit 的调试版本 工具 脚本 build webkit debug 成功构建后 我尝试通过运行以下命令来使用已编译的 Webkit 调试版本来运行 safari sudo Tools Scripts run
  • Mac OS X 中文件系统的 Unicode 编码在 Python 中不正确?

    在 OS X 和 Python 中处理 Unicode 文件名有点困难 我试图在代码中稍后使用文件名作为正则表达式的输入 但文件名中使用的编码似乎与 sys getfilesystemencoding 告诉我的不同 采取以下代码 usr b
  • 在java中查找OSX的版本

    我需要测试 java 中 osx 的版本是否 Try System getProperty os name and or System getProperty os version 它返回字符串 HERE https docs oracle
  • 如何使用 iconutil 手动创建 icns 文件?

    当我验证我的应用程序时 出现此错误 应用程序包不包含 ICNS 格式的图标 同时包含512x512 and a 512x512 2x image 我用来制作 icns 图标Img2icns http www img2icnsapp com

随机推荐

  • 如何连接故事板中的原型单元?

    我在故事板中创建了一个表格视图 以及一个自定义原型单元 我已经在情节提要中设置了单元格标识符 并尝试将其出队并得到 无法使具有标识符 TTEntry 的单元出列 必须为标识符注册笔尖或类 或者连接故事板中的原型单元 我在情节提要 Table
  • 使用 python pty 伪终端进程发送命令并退出

    使用 python pty 模块 我想使用 stdin 函数 如 pty 模块想要的那样 向终端模拟器发送一些命令 然后强制退出 我想到了类似的事情 import pty cmnds exit n ls al n Command to se
  • Sun 的 bug 数据库中的 Java 版本名称

    In https bugs java com bugdatabase view bug bug id 6525150 https bugs java com bugdatabase view bug bug id 6525150它说 发布修
  • 如何在java中实现高效的超时

    有n执行某些操作的对象 执行操作后 时间戳将会更新 现在我想实现一个超时线程 它验证时间戳是否早于 60 秒 我的第一个解决方案是使用一个线程 while loop sleep 来做到这一点 该线程保存一个包含所有对象 包括最后一个时间戳
  • 使用 Visual Studio 创建大小为 100 字节的 C 程序

    我想编写一个 C 应用程序 该程序在构建时将创建一个大小为 100 字节或更小的可执行文件 即使我创建一个简单的 C 程序 其中只有一个空的main 我的输出文件在 Visual Studio 2015 上变成 11KB 有没有办法告诉 V
  • 在目录和子目录中搜索文件中的模式

    在Linux中 我想搜索给定目录及其子文件夹 文件以查找某些包含和排除模式 find apps exec grep performance v warn dev null 这与搜索所经过的大量行相呼应 我不想这样 我想找到包含性能但不包含警
  • 为什么这个 Jinja nl2br 过滤器会转义
    而不是

    我正在尝试实施this http flask pocoo org snippets 28 Jinja nl2br筛选 它工作正常 除了 br 是不是广告被转义了 这对我来说很奇怪 因为 p 没有被转义并且它们都在同一个字符串中 我正在使用烧
  • 可以将 std::numeric_limits 专门用于用户定义的类似数字的类吗?

    的文档std numeric limits
  • PHP 忽略 php.ini 中的curl.cainfo 设置(显然)

    我正在尝试修复 Windows 服务器 运行 IIS 上的 php curl 调用 该调用返回熟悉的错误 SSL 证书问题 请验证 CA 证书是否正常 详细信息 错误 14090086 SSL 例程 SSL3 GET SERVER CERT
  • 如何在 Apps 脚本中设置表格的水平对齐方式

    我无法找到使用 Google Apps 脚本水平对齐 Google 文档中表格的方法 我彻底检查了所有文档 也盲目地尝试了几种方法 尝试一 var cells Company rowData 3 Title rowData 4 var ta
  • 循环展开优化,它是如何工作的

    考虑这个 C 代码 int sum 0 for int i 0 i lt 5 i sum i 这可以用 伪 汇编方式翻译 无需循环展开 pseudo code assembly ADDI R10 0 sum ADDI R11 0 i LOO
  • 自动提供数据库中的唯一ID

    在我的项目中 我需要注册一位捐赠者 我需要用户输入他的信息 系统会注册他并为捐赠者生成一个唯一的 ID 制作一个带有字段ID的表 该表具有索引并且具有自动递增功能 CREATE TABLE Persons ID int NOT NULL A
  • 如何尾部除第一行之外的所有行[重复]

    这个问题在这里已经有答案了 例如 我有一个文件 1 2 3 然后我想从第二行输出到尾部 我怎样才能在linux下做到这一点 tail n 2 my file 将输出所有行myfile从第 2 行开始 n2会显示最后两行 tail有很多更多的
  • 算法时间复杂度分析

    您好 我正在尝试分析该算法的时间复杂度 但我很难解开并计算最终循环将执行的次数 我意识到第一个循环是 log n 但之后我似乎无法得到一个评估良好的总和 这是算法 for int i 1 i lt n i 2 i for int j 1 j
  • Ramda 循环数组

    循环可能是错误的术语 但它描述了我正在尝试的事情 我想为平面数据提供结构 但我还需要跟踪它来自的数组 基本上我的规则是 每个数组 如果级别 1 存在 给它name该项目的 以及typechild大批 每次出现级别 1 时 即使在同一个数组中
  • 寻找单调序列并考虑达到最大值时重新启动序列

    我有一个 data table 说 dt name lt letters 1 22 score lt c 42 82 43 32 47 48 49 50 54 59 76 9 13 88 91 99 4 6 8 12 14 15 class
  • Vim 中可以显示缩进指南吗?

    我是 Vim 的长期用户 三四年 最近开始处理一些深度嵌套的代码 此代码使用空格缩进 而不是制表符 我想要一些干净且不分散注意力的缩进指示 以帮助在我查看多个层次的深度内容时跟踪我所在的代码块 set list 只显示制表符和结束行字符 我
  • ASP.Net Core 1.0 RC2:web.config 中提到的 LAUNCHER_PATH 和 LAUNCHER_ARGS 是什么?

    有在 ASP NET 5 RC2 版本中 它更名为 ASP NET Core 1 0 ASP NET 5 已死 http www hanselman com blog ASPNET5IsDeadIntroducingASPNETCore10
  • 在 React 中将组件数组作为 Props 传递

    我正在寻找一种将组件数组传递给选项卡组件的道具的方法 只是想知道这是否可能 因此 我需要创建一个组件来缩短材质 ui 的选项卡方法 但我找不到一种方法来将组件数组作为 prop 传递 以便将其渲染在该组件上 这是我的代码的示例
  • 文件被隐藏了吗?

    如何确定某个路径是否指向隐藏文件 文件夹 NSString file my file some where BOOL fileIsHidden lt what do I do here 我知道隐藏文件以句点为前缀 这不是隐藏文件的唯一标准