Windows 为mklink命令创建脚本
我想创建一个bash文件(.sh文件),该文件使用dos mklink命令创建符号链接Windows 为mklink命令创建脚本,windows,bash,cmd,mklink,Windows,Bash,Cmd,Mklink,我想创建一个bash文件(.sh文件),该文件使用dos mklink命令创建符号链接 mklink/D“路径”“路径” 在bash中使用此窗口命令 但当我尝试这样做时,我得到了一个错误:mklink:command-notfound 如何解决此问题?要在Windows中使用mklink,请阅读关于的信息 默认情况下,只有管理员才能创建符号链接。安全设置“创建符号链接”可在以下位置授予:Configuration\Windows Settings\security Settings\Loca
mklink/D“路径”“路径”
在bash中使用此窗口命令
但当我尝试这样做时,我得到了一个错误:mklink:command-notfound
如何解决此问题?要在
Windows
中使用mklink
,请阅读关于的信息
- 默认情况下,只有管理员才能创建符号链接。安全设置“创建符号链接”可在以下位置授予:
Configuration\Windows Settings\security Settings\Local Policies\User Rights Assignment\*
- 创建符号链接需要提升,但是从Windows 10 build 14972,可以创建符号链接,而无需将控制台提升为管理员-但是需要启用开发者模式。
C:\Users\ecker>mklink/D”%userprofile%\Documents\Call of Duty Black Ops II save“C:\Program Files(x86)\Steam\steamapps\common\Call of Duty Black Ops II\players”
为C:\Users\ecker\Documents\Call of Duty Black Ops II创建的符号链接保存C:\Program Files(x86)\Steam\steamapps\common\Call of Duty Black Ops II\Player
C:\Users\ecker>mklink
创建符号链接。
MKLINK[/D][/H][/J]]链接目标
/创建一个目录符号链接。默认值是一个文件
符号链接。
/H创建硬链接而不是符号链接。
/J创建一个目录连接。
Link指定新的符号链接名称。
目标指定新链接的路径(相对或绝对)
指。
Obs.:您还可以使用激活Windows 10的开发人员模式,也可以使用cmd命令行或批处理文件:
reg添加“HKEY\U LOCAL\U MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock”/t reg\u DWORD/f/v“Allowdevelopmentwithout devlicense”/d“1”
- 进一步阅读: [√] [√] [√]
ln-s/path/to/dir/path/to/symlink
@Compo您能给我一个示例我提供的命令有什么问题吗?@Compo请给出一个示例路径。如果ln-s
没有在您的上下文中创建本机Windows符号链接,您必须运行cmd.exe/c“mklink”
因为mklink
是CMD shell的一个内部命令。顺便说一句,CMD不是DOS;它是一个Windows控制台应用程序。我假设为了修改/创建HKEY_LOCAL_机器
中的注册表项、值和数据,您需要以管理员身份运行reg.exe
CMD命令行或者批处理文件。如果已经允许您这样做,您还可以创建符号链接!创建符号链接不需要提升,即高完整性级别。Microsoft的文档在这一点上基本上是混乱的。默认情况下,只有administrators组被授予符号链接权限。授予gr的权限仅当组已启用,且标准访问的UAC筛选令牌已禁用administrators组时,才会将oup添加到访问令牌。但如果您将权限授予不受UAC筛选的组,例如“已验证的用户”众所周知的组,则不会将其从访问令牌中筛选出来。在开发人员模式下,文件系统不需要symlink权限,而对于WinAPIcreateSymbolicClinKW
,标志SYMBOLIC\u LINK\u flag\u ALLOW\u UNPRIVILEGED\u CREATE
的唯一目的只是防止它在无法获得权限时调用失败无法启用。但是,其他功能,如CopyFileExW
:COPY\u FILE\u COPY\u SYMLINK
仍然没有意识到这一点,甚至在开发人员模式下也需要此权限。@Compo谢谢您的评论,我没有尝试添加密钥,只是按照GUI启用开发模式。@Eryk Sun解释:我是Windows 10中的本地用户/管理员,还有mklink不工作管理员启动cmd?只有在窗口10中启用开发模式后,它才会工作,为什么?但请确保文档被混淆,并感谢您的评论…mklink
如果您直接向用户或非管理员组(如“已验证用户”)授予符号链接权限,任何模式下的任何用户都可以正常工作。否则,如果只有administrators组具有此权限,则必须提升以获取完整的管理员令牌(但重要的是该组,而不是提升的完整性级别).CMD也被更新为调用createSymbolicClinKW
,带有标志SYMBOLIC\u LINK\u flag\u ALLOW\u UNPRIVILEGED\u CREATE
,因此在开发者模式下不需要特权。