提问者:小点点

Windows 7符号链接-当文件已存在时,无法创建该文件


我试图在两个目录之间创建一个符号链接。我有一个名为TestDocs和TestDocs2的目录。我将在TestDocs中完成我的所有工作,但我需要在TestDocs2中反映所有工作。所以TestDocs2中的所有文件都将被复制到TestDocs中,如果我在TestDocs中添加一个文件、更改一个文件等,它应该反映在TestDocs2中。

所以我认为这就像这样简单:

mklink /D TestDocs TestDocs2

但当我这样做时,我得到了错误:

当文件已经存在时无法创建文件

为什么我要得到这个?

另外,我的TestDocs和TestDocs2的顺序在命令中是否错误?

谢谢你的帮助,符号链接总是让我困惑!


共3个答案

匿名用户

正确的用法是:

MKLINK [options] {link} {target}

您正在创建一个链接,因此链接是您将要创建的新链接
目标是链接的目标,即现有目录。

匿名用户

这就是我的工作原理。我想将我的C:\ProgramData\Package缓存重新定位到F:分区。

我必须做的步骤:

>

  • 物理移动"C:\Program Data\Package Cache"F:。现在我有了"F:\Program Data\Package Cache""C:\Program Data\Package Cache",因为我移动了它。

    在cmd run中(全部在一行中,为了可读性在此处拆分)

    mklink /J "C:\ProgramData\Package Cache" 
              "F:\ProgramData\Package Cache"
    

    结果:

    Junction created for C:\ProgramData\Package Cache <<===>> 
                         F:\ProgramData\Package Cache`
    

  • 匿名用户

    我这样做是为了谷歌Picasa,这样我就可以在不止一台机器上访问照片。它工作得很好,因为Picasa并不是一个真正支持netowrk的程序。对我来说,我做了以下事情:

    • 安装Picasa
    • 运行应用程序。这将创建所有必要的数据库文件
    • 关闭应用程序
    • 导航到数据库所在的目录-在Windows 7上,它将在c:\users\\AppData\Local\Google中创建
    • 将有两个文件夹Picasa2和Picasa2Albums将这些文件夹复制到网络位置。在我的例子中,我创建了一个名为o:\picasadabase的文件夹,并将这些文件夹复制到其中
    • 接下来将原始文件夹重命名为Picasa2。老的和老的。旧的

    从提升的cmd提示符运行以下命令:

    mklink/D“c:\Users\\AppData\Local\Google\Picasa2”“o:\picasadabase\Picasa2”

    mklink/D“c:\Users\\AppData\Local\Google\Picasa2Albums”“o:\picasadabase\Picasa2Albums”

    将在源位置创建两个符号链接,它们将指向网络驱动器。

    显然,对于不可联网且一次只能有一个用户访问数据库的应用程序,使用这样的符号链接是一种变通方法。