Xop*_*ter 27 windows-7 ntfs filesystems dir
我正在使用IMAPSize来备份我的邮箱。该过程只是将邮箱的内容转储到.eml
磁盘上的文件中。无论如何,我备份的第一个邮箱按我的预期显示。但是,下一个没有显示在资源管理器中,如果我在地址栏中输入它,它会告诉我它不存在。
但是,IMAPSize 坚持文件在那里。(在操作期间执行了大量磁盘写入。)此外,该目录确实出现在 Windows 目录对话框中,并且 - 因为我安装了 GNU 工具 - 它显示在ls
(但不在本机中dir
)。我无法cd
进入该目录,但ls
似乎确实能够访问它(实际上,我期望的目录和文件似乎在那里)。
另请注意,和输出中的时间戳和文件大小backup.db
不同。dir
ls -l
简而言之:这里发生了什么,我该如何解决!?
Ben*_*n N 64
让我猜猜:创建文件的程序以及 GNU 实用程序没有以管理员身份运行。
首先,一些历史。在Windows XP的日子里,很多程序假定他们总是以管理员身份运行,并写信给喜欢的地方C:\Windows
,并C:\Program Files (x86)
与野生放弃。在 Vista 中,Microsoft 试图减少管理员人数,但标准用户无法写入这些地方。他们需要那些可疑的程序才能继续工作(否则人们不会升级)。因此,他们引入了一个名为UAC 虚拟化的神奇功能。
作为标准用户运行的程序可能认为他们对重要位置的写入成功了,但实际上,Windows 将数据存放在每个用户的位置。当这些程序在目录中查找文件时,Windows 会检查该位置的虚拟存储中是否有任何文件,如果有,则将它们添加到目录列表中。(注册表具有等效的功能。)
看起来您的邮件程序在Program Files (x86)
以普通用户身份运行时试图写入下面的位置。写入被重定向,所以它实际上并没有到那个地方。程序仍然可以看到它,因为 Windows 一直在为它保留幻觉。Explorer 看不到它,因为它向操作系统宣布它表现良好,因此不需要重定向。命令提示符的dir
命令不是程序(它只是 的一个功能cmd.exe
),因此它也被认为是“已知的”,因此不显示兼容性文件。ls
是一个显然不为人所知的程序,因此它可以查看兼容性文件。
您将在此处找到您的文件:
%LOCALAPPDATA%\VirtualStore\Program Files (x86)\IMAPSize\backup
Run Code Online (Sandbox Code Playgroud)
在浏览 时VirtualStore
,您可能会惊讶于哪些程序表现不佳并且需要虚拟化安全网。
如果要停止重定向,请以管理员身份运行程序,或将备份保存在无需管理员权限即可实际写入的位置。
归档时间: |
|
查看次数: |
2936 次 |
最近记录: |