无法创建Symlink-当文件已存在时无法创建文件

问题描述

TLDR;运行以下命令时,出现“该文件已存在时无法创建文件错误。对于我在符号链接上阅读的所有内容,我感到非常困惑,因为基本上始终不清楚哪个目录是哪个目录,以及是否需要同时存在两个或一个目录。因此,我在下面发布了我的命令,希望有人能发现错误(并用简单的术语来解释):)。


最近,我的C驱动器(SSD)装满了,我决定将一些东西移到D驱动器(常规硬盘驱动器)上。我阅读了有关符号链接文章,并尝试将目录从C:\链接到D :,但总是收到“该文件已经存在时无法创建文件错误。我的命令如下:

C:\users\me\documents\main-folder\folder-I-want-linked > mklink /J "D:\folder\another folder\folder-where-I-want-to-store-the-docs" "C:\users\me\documents\main-folder\folder-I-want-linked"

尽管我是一名入门程序员,并且了解有关CLI的一些知识,但我无法弄清自己的错误

  1. 我认为也许应该反转两个目录。我阅读的资料使我感到困惑:例如,the official Microsoft documentation讨论了和,这取决于您的看待方式可能涉及两个目录。对于符号链接的指向方式,我有些困惑:按照我的常识,但根据this page from howtogeek.com,我认为这种语法是正确的。

  2. 我认为,由于错误是某些东西已经存在,因此应该删除我的空地图,因为可能会创建它?在这方面,我在superuser.com上发现this accepted answer非常令人困惑。我还看到this accepted answer here at stackoverflow.com,说目的地目录不存在吗?因为这是我要放置文件的位置,所以我觉得这很奇怪。从另一个来源(我无法很快找到它),我了解到这两个目录已经存在。

  3. 我认为我运行命令的地图不正确。但是,在该命令之上一层运行命令(因此在“主文件夹”内部)也给了我错误;从D盘位置尝试也是如此。但是,从前面提到的howtogeek.com来源中,我得到了我不需要放在特定目录中的想法?

我在该网站上也看到了很多有关符号链接的问题,但是我没有找到任何可以帮助我的答案。我可能在这里使事情变得复杂,所以如果有人有一个简单的更正/解释,我将不胜感激:)。

解决方法

由于@Mofi,我发现了自己的错误:

  1. 空文件夹(我的C盘上的folder-I-want-linked)应该还不存在:将在创建链接后创建;
  2. 这还意味着符号链接应从父目录(C:\users\me\documents\main-folder)中创建;
  3. 我应该使用/D而不是/J
  4. 出于某种原因,拼出我要创建的文件夹的绝对路径不起作用(C:\...\...\folder-I-want-linked),但是从我当前位置开始的相对路径(folder-I-want-linked)起作用了。
  5. li>

我的示例的正确语法:

C:\users\me\documents\main-folder> mklink /D "folder-I-want-linked" "D:\folder\another folder\folder-where-I-want-to-store-the-docs"