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