Windows 7 中的命令提示符下发生了以下情况。奇怪的是,可以创建链接,但无法将目录更改为新链接。你能解释一下吗?
C:\Luca\programs>mklink /D Screen_recorder_OBSstudio ..versioned/OBS-studio-0.15.2
Invalid switch - "OBS-studio-0.15.2".
C:\Luca\programs>mklink /D Screen_recorder_OBSstudio "..versioned/OBS-studio-0.15.2"
symbolic link created for Screen_recorder_OBSstudio <<===>> ..versioned/OBS-studio-0.15.2
C:\Luca\programs>cd Screen_recorder_OBSstudio
The filename, directory name, or volume label syntax is incorrect.
答案1
可以创建链接,但无法将目录更改为新链接。
你能解释一下吗?
是的。
mklink /D Screen_recorder_OBSstudio“..versioned/OBS-studio-0.15.2”
Screen_recorder_OBSstudio
您已成功创建指向 的目标的链接..versioned/OBS-studio-0.15.2
。
不幸的是,..versioned/OBS-studio-0.15.2
这不是一个有效的目录名,因此当您尝试cd
访问它时会收到错误。
我怀疑您需要使用以下目标名称之一(取决于目标目录的实际位置,相对于包含新链接的目录的位置):
versioned\OBS-studio-0.15.2
.\versioned\OBS-studio-0.15.2
..\versioned\OBS-studio-0.15.2
笔记:
- 最好用作
\
目录路径元素分隔符而不是/
。
我可以创建指向不存在的目标的链接吗?
是的。
除mklink /h
(硬链接)之外,其他mklink
选项都允许链接“指向不存在的目标”:
来源链接。
这意味着您可以先创建链接,然后再创建目标(此时链接将开始工作)。
例子:
F:\test>dir foo
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test
File Not Found
F:\test>mklink /d alink foo
symbolic link created for alink <<===>> foo
F:\test>dir foo
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test
File Not Found
F:\test>md foo
F:\test>dir foo
Volume in drive F is Expansion
Volume Serial Number is 3656-BB63
Directory of F:\test\foo
01/08/2016 12:34 <DIR> .
01/08/2016 12:34 <DIR> ..
0 File(s) 0 bytes
2 Dir(s) 1,772,975,259,648 bytes free
进一步阅读
- Windows CMD 命令行的 AZ 索引- 与 Windows cmd 行相关的所有事物的绝佳参考。
- 链接- 创建到目录或文件的符号链接,或者创建硬文件链接或目录连接。
答案2
明白了!谢谢您的提示。
问题在于打字
"..versioned/OBS-studio-0.15.2"
代替
"..versioned\OBS-studio-0.15.2".
顺便说一下,我还有很多其他的链接指向以下目录
..versioned\
并且它们没有给出任何问题。误导的是,当使用 / 而不是 \ 时,mklink 毫无问题地确认了链接的创建
C:\Luca\programs>mklink /D Screen_recorder_OBSstudio "..versioned/OBS-studio-0.15.2"
symbolic link created for Screen_recorder_OBSstudio <<===>> ..versioned/OBS-studio-0.15.2