关于建议的重复项的说明:我不是寻找安装位置的全局更改。我想将每个程序基础上的程序移动到不同的位置。
有些软件安装程序不允许您选择程序的安装程序,我觉得这很烦人。
有没有一种方法可以让您将已安装的程序移动到另一个位置,最好自动在注册表中进行必要的更改?
更新到目前为止的答案是:
我不想使用权我从不同的地方下载了程序,但我希望它能实际存在。因此,虽然我非常感谢您的建议,但链接不行。
答案1
如果你不太担心实际的文件夹结构,你可以将文件夹移动到任何你想要的地方,并使用目录符号链接指向新位置(例如,如果您的系统驱动器上的空间有限)。此操作的典型命令行是
mklink /d C:\Path\Of\Original\Folder D:\Path\Of\New\Folder
我不知道有任何工具可以真正移动文件夹并重新路由链接和注册表项,因为有太多程序的版本不断更新,因此维护起来非常困难。
编辑:有人要求添加如何正确删除目录符号链接。您确实需要小心,因为错误的命令可能会擦除您链接到的文件夹。
最好的方法是:
- 通过 Windows 资源管理器删除目录符号链接。这将保持目标文件夹完好无损,并且仅删除符号链接。
或者
- 使用命令
rmdir C:\Path\To\Symbolic\Link
做不是del
在目录符号链接的位置使用该命令,因为该del
命令用于删除文件。这样做将遵循目标目录的路径,删除符合条件的任何文件!
答案2
根据 Jonno 的回答,如果你担心空间问题,那么符号链接就是你的朋友。在 steam 不允许你在 steam 安装文件夹之外安装游戏的时代,有一款软件叫做蒸汽机自动创建符号链接,您将其指向包含要移动的程序的文件夹(例如 C:/Program Files)和目标(例如 D:/programs),然后您就可以移动特定的文件。
答案3
将这些应用程序移动/安装到另一个位置可能会产生意想不到的后果。
如果您移动程序,开发人员使用的一整套假设可能会被打破。例如,在用户配置文件中自行安装的应用程序会期望对其安装文件夹拥有完全的写入权限,甚至更糟的是,它会使用基于预期安装位置的相对路径。
因此,最简单的解决方案(就像其他人所说的那样)就是仅使用连接点来移动文件,同时让应用程序认为它仍然在最初安装的位置(它会留下一个“幽灵”文件夹)。
除此之外,还需要对每个应用程序进行分析,看看是否会因为移动而出现任何问题,有工具可以帮助进行这种分析,比如Windows ADK(评估和部署工具包)但它不是自动化的。
答案4
没有普遍保证的方法可以做到这一点。不同的程序(尤其是用不同语言编写的程序)可以通过多种方式检查可执行文件的存储位置。像符号链接这样的方法通常很有效,但要始终知道可能会有一些例外情况会中断。如果您移动文件(例如可执行文件,但可能是其他文件),某些程序可能会期望在特定位置找到文件,并且如果事情不符合程序的预期,则可能会表现不同(可能特别有可能完全中断)。
对于多种操作系统来说,情况都是如此。