我可以将已安装的程序移至Windows中的其他位置吗?


27

关于建议的副本的注意事项:我不是要在全球范围内更改安装位置。我想将每个程序的程序移到不同的位置。


一些软件安装程序不允许您选择程序的安装位置,我觉得这很烦人。

有没有一种方法可以让您将已经安装的程序移动到另一个位置,最好自动在注册表中进行必要的更改?

到目前为止,请按照以下答案进行更新
我不想从其他位置访问该程序,而是希望它位于实际位置。因此,尽管我很感谢您的建议,但链接不会起作用。


1
如果SW是烦人够糟糕的,不允许你选择的安装位置,它可能也有烦人的坏足有一些“C:\”路径硬编码的地方。愚弄此类软件的唯一足够安全的方法是类似Jonno的答案,它仍然“认为”它安装在其默认位置。尽管可能会被“太多”欺骗,例如关于“其”驱动器上的可用空间。
哈根·冯·埃岑


@Downvoter为什么要投票?因为它是重复的?我解释了为什么不是。
Joris Groosman 2015年

@JorisGroosman您可以使用符号连接同一驱动器上,它并不重要文件所在的位置located-你甚至可以做到在每个程序的基础。您可以将程序文件夹移动到驱动器上的另一个位置(或整个驱动器上),然后对其进行符号链接,以使原始位置指向新位置。这意味着您的问题是重复的。
AStopher

3
完全不是重复的。从理论上讲,这可能是一种内置的方式。Closevotes对我感到虚假。
Journeyman Geek

Answers:


44

如果您不太担心实际的文件夹结构,可以将文件夹移动到所需位置,并使用目录符号链接指向新位置(例如,如果系统驱动器上的空间有限)。典型的命令行是

mklink /d C:\Path\Of\Original\Folder D:\Path\Of\New\Folder

我不知道有什么工具可以真正移动文件夹,重新路由,链接和注册表项,因为有太多程序会不断更新版本,因此很难维护。

编辑:请求添加了如何正确删除目录符号链接。您确实需要注意这一点,因为错误的命令可能会擦除您链接到的文件夹。

最好的方法是:

  • 通过Windows资源管理器删除目录符号链接。这将使目标文件夹保持完整,并且仅删除符号链接。

要么

  • 使用命令 rmdir C:\Path\To\Symbolic\Link

千万不能使用del您的目录符号链接的位置命令,作为del命令来删除文件。这样做将遵循目标目录的路径,清除所有符合条件的文件!


5
这要求分区是NTFS(它们可能是)。FAT32不支持符号链接。
Sydius

10

基于Jonno的回答,如果您关心空间,则符号链接是您的朋友。当Steam不允许您在Steam安装文件夹之外安装游戏(称为Steammover)时,有一款软件可以自动创建符号链接,将其指向包含您要移动的程序的文件夹(例如C:/ Program)文件)和目标位置(例如D:/程序),您可以移动特定文件。


7

将这些应用程序移动/安装到另一个位置可能会带来意想不到的后果。

如果您移动程序,则开发人员可能会使用一整套假设来打破常规。例如,将应用程序自身安装在用户配置文件上的应用程序将期望对其安装文件夹具有完全写权限,甚至更糟糕的是根据期望安装的位置使用相对路径。

因此,最简单的解决方案(就像其他人所说的那样)是只使用结点移动文件,让应用程序认为它仍在原始安装位置(它将在后面保留“ ghost”文件夹)。

除此之外,还需要对每个应用程序进行分析,以查看是否有任何中断,例如Windows ADK(评估和部署工具包)等工具可以帮助该分析,但它不是自动化的。


5

我发现最简单的方法是使用Link Shell Extension。这是一个资源管理器外壳程序扩展,它使您可以管理符号链接和硬链接,而无需进入命令行。

对于您的情况,您将找到安装程序强迫您使用的文件夹,将文件移动到所需的位置,右键单击新位置并选择“ Pick Link Source”,然后返回到原始位置并选择“将链接拖放为...”并选择Junction(或Symbolic Link,尽管我通常使用“ Junction”,因为某些应用程序不会遵循Symbolic Link)。

我已将其用于许多此类情况-通常,应用程序会为配置和缓存文件(例如%appdata%\ MyProgram)强加一个强制位置。在SSD上,如果不断写入这些文件,则可以减少该驱动器的寿命,因此我将使用它来将这些缓存文件移至主轴驱动器,从而稍微降低性能,但减少SSD的磨损。


1

没有普遍保证可以做到这一点。不同程序(尤其是用不同语言编写的程序)可以通过多种方式检查可执行文件的存储位置。诸如Symlinks之类的东西通常可能有效,但始终知道可能会有一些例外情况会中断。如果您移动文件(例如可执行文件,但可能还有其他文件),则某些程序可能希望在特定位置找到文件,并且如果情况并非如此,它们的行为可能会有所不同(也许尤其是可能完全损坏)。程序期望。

对于多个操作系统,这是正确的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.