HDD 之间的 NTFS 连接点会导致瓶颈吗?还是将连接缓存在内存中?
具体来说,我想在磁性硬盘上安装 Steam。这意味着所有游戏都将安装在那里。为了从我的 SSD 中受益,我会将我正在玩的游戏从 HDD 上的 Steam 目录连接到 SSD。
我想知道这是否会导致性能问题。游戏每次访问一个文件,是否都需要读HDD,读结点,解析SSD上的新路径,然后得到真正的文件?或者操作系统会缓存这个重定向,所以性能损失只会在第一次出现?
谢谢!
由于我使用的是 SSD,但它的大小有限,我希望能够使用连接点将文件和目录重新映射到我的 HDD,如果我可以为它创建一个 shell 扩展来执行此操作,这将非常理想。
理想的行为是右键单击目录或连接点并有一个
“操作连接点”选项,我可以在其中执行以下操作:
创建:对于目录,将目录移动到我指定的位置并用连接点替换它。
(Dir) C:\Example变成(JP) C:\Example --> D:\Example
交换:对于连接点,我想将连接点与其位置交换。
(JP) C:\Example --> (Dir) D:\Example变成(Dir) C:\Example <-- (JP) D:\Example
这意味着它将删除连接点,移动数据并放置一个反向连接点。
删除:对于连接点,我想删除它并将目录移回。
(JP) C:\Example --> (Dir) D:\Example变成(Dir) C:\Example
我最重要的问题:
不太重要的问题:
我已经知道 Microsoftmklink和 Sysinternals junction。
Junction 是 XP 中一个很好的符号链接工具。但是,一开始并不那么容易使用,即。只能使用命令行界面;移动/重命名目标文件/文件夹;必须使用 'junction -d ' 来删除链接,不允许在探索中删除,但很难区分它是否是符号链接。
是否有关于如何在 XP 中使用连接点的指南,例如该做什么和不该做什么?
我希望能够在整个驱动器或仅给定目录上找到所有联结链接。例如,是否可以使用 Total Commander 搜索插件?我似乎无法在 Windows 上找到任何合适的解决方案......我的意思是我知道我可以运行这个:
目录 /A:D /S
我会得到一个清单,但不仅仅是路口......
默认情况下,Far Manager 将大小连接包含到目录大小 (F3) 中。
有没有办法避免计算它们?
NTFS支持各种链接,包括联结、硬链接、软链接等,所以这里有一个问题。
假设您正在递归删除实际上包含上述内容的目录。很容易想象,您的应用程序(无论是什么)不会删除所有连接点,而是会遍历它们并首先删除其中的所有文件,这些连接点、软链接可能会引导到您感兴趣的目录之外,等等。
这很容易导致重大数据丢失。
这是一个简单的例子。您安装了另一个安装了 Windows 的硬盘驱动器。
让我们检查一下内容D:\ProgramData:
D:\ProgramData>dir /a
Volume in drive D has no label.
Volume Serial Number is 1234-4321
Directory of D:\ProgramData
12/06/2021 12:56 PM <DIR> .
12/06/2021 12:56 PM <DIR> ..
07/14/2009 10:08 AM <JUNCTION> Application Data [C:\ProgramData]
07/14/2009 10:08 AM <JUNCTION> Desktop [C:\Users\Public\Desktop]
07/14/2009 10:08 AM <JUNCTION> Documents [C:\Users\Public\Documents]
07/14/2009 10:08 AM <JUNCTION> Favorites [C:\Users\Public\Favorites]
02/11/2016 03:51 PM <DIR> Microsoft
07/10/2019 03:00 AM <DIR> Microsoft Help
12/23/2019 04:04 PM <DIR> Package Cache
07/14/2009 …Run Code Online (Sandbox Code Playgroud) 我使用的是 Windows,我想使用 Dropbox 备份我的 Dropbox 目录之外的文件夹。所以我想创建一个从我的目标目录到我的 Dropbox 文件夹的连接点。根据维基百科上的NTFS 连接点文章,也从 Dropbox 答案链接:
连接点只能链接到本地卷上的目录;不支持到远程共享的连接点。
我希望链接到网络附加存储上的目录,我相信这不会是本地卷。我该怎么办?
我正在使用同一游戏的多个安装(在 Windows 10 家庭版上),以便更轻松地访问各种插件/用户配置。每个安装的子文件夹都是Directory Junctions,指向原始游戏安装的子文件夹。它们是这样创建的(从游戏安装文件夹的父文件夹开始 - 在我的例子中,它是 C:\Program Files):
rem The original game is installed in the MyCarGame folder
mkdir MyCarGame2
cd MyCarGame2
mklink /J GameData ..\MyCarGame\GameData
mklink /J Maps ..\MyCarGame\Maps
Run Code Online (Sandbox Code Playgroud)
如何正确删除目录连接(在本例中为“MyCarGame2\GameData”和“MyCarGame2\Maps”),以确保我不会删除其中的文件/文件夹?
是否可以从 Windows 资源管理器、Total Commander 或 Free Commander 等文件管理器中删除它们?
例如,该用户报告说他们删除了这样的虚拟文件夹,结果是源文件夹的内容被删除(在我的例子中为“MyCarGame\GameData”和“MyCarGame\Maps”)。
注意:这里有一个类似的问题:How to Delete a Junction by using Command Line in Windows 7
删除 Robocopy 备份是否安全?我读到有些人意外删除了备份之外的文件,因为它包含链接/连接。我可以阻止这种情况吗?
在 Windows 中,是否有本机|便携式工具可以递归地为我提供一个路径下所有文件和目录的unicode或系统本地兼容列表,而无需递归到连接点或链接中?
例如,内置dir takedown icacls命令与Application Data目录 ( 1 )一起运行到无限循环中。
编辑我希望能够获得一个文本文件或至少一个简单的剪贴板传输作为输出。
junction ×10
ntfs ×4
hardlink ×2
windows ×2
windows-xp ×2
dropbox ×1
far-manager ×1
recursive ×1
robocopy ×1
search ×1
steam ×1
windows-10 ×1
windows-7 ×1
windows-8 ×1