mklink 给出消息“无效开关”

mklink 给出消息“无效开关”

因此,我尝试将 Whatsapp Desktop 的媒体文件夹从CWindows 10 上的驱动器(空间有限)移动到E。我关闭了 Whatsapp(也通过任务管理器)。我将媒体目录移动到,现在尝试从 中的现有位置创建到 中的新位置的E链接,如下所示:CE

mklink d/ E:/target C:/original

无论我尝试哪种变化,我都会得到Invalid switch E:/target。也许我混淆了源和目标?我尝试了这个:

mklink d/ C:/original E:/target

然后得到了Invalid switch C:/original。我使用管理员权限从 cmd 提示符运行该命令。我仔细检查了所有路径。我甚至尝试了一个虚拟目标路径,该路径肯定存在、为空并且指向它的路径是正确的,结果相同。我尝试了/h而不是d/,但一直得到Invalid switch

我之前曾设法在这台计算机上执行过类似的操作,创建链接并将 Windows 安装程序目录移动到E。但由于上述问题,似乎无法重新创建它。

还有什么想法可能是什么问题?

答案1

许多较旧的 Windows 命令行工具,尤其是那些内置于 cmd.exe 中的工具(令人惊讶的是 MKLINK 确实是内置的,而不是 mklink.exe),都有一个特殊的命令行解析器,它认为任何包含的参数/是一个选项开关,即使它没有与其他参数用空格分开 - 也许是原始 DEC 影响的遗留(DCL 命令以相同的方式工作)。

(例如,dir Desktop/a的处理方式与 类似dir /a Desktop, 而不是dir Desktop\a。)

因此,当您写入 时E:/target,mklink 会认为您指定E:为路径和/target选项开关。为避免这种情况,在处理 cmd.exe 命令时,请始终使用 Windows 样式的反斜杠来编写路径,即改用E:\target


请注意,开关始终写为/d不是 d/

相关内容