Linux
这个用来将某个路径指向到另一个路径,主要为了将盘小的路径指向到盘大的路径。
例如将/www/bt_hids
文件夹(盘小)指向到/data/www/bt_hids
(盘大),先创建/data/www/bt_hids
文件夹,再执行:
ln -s /data/www/bt_hids /www/bt_hids
比较搞,记一下。之前遇到这个问题一直头疼。
Windows
Windows也有一个创建链接的命令工具,Junction v1.07:交接点 – Sysinternals | Microsoft Learn,它不像*.lnk的快捷方式一样是个文件,而是真正的文件夹链接。
junction -s d:\s d:\t
在cmd命令行中执行以上命令,将在D盘创建一个名叫s的目录并将其执行D盘下的t目录(你先要有这个目录存在)。这时候你能看到s是一个快捷方式的链接图标,但是文件类型却是文件夹。至此我们创建软链接成功。
可以在官网下载Junction.zip,解压后,将junction.exe改名为ln.exe,并复制到C:\Windows\System32目录,即可用ln代替junction命令。
展开 引用自官方文档
介绍
Windows 2000 及更高版本支持交接点,其中目录充当计算机上另一个目录的别名。 例如,如果目录D:\WIN 指定 C:\WINNT\SYSTEM32 作为其目标,则访问 D:\WIN\DRIVERS 的应用程序实际上会访问 C:\WINNT\SYSTEM32\DRIVERS。 遗憾的是,Windows 2000 没有用于创建交接点的工具。 必须购买 Windows 2000 资源工具包,该工具包附带用于创建交接的 linkd
实用工具。 因此,我决定编写自己的交接点创建工具:Junction
。 它创建 NTFS 交接点,可用于查看文件或目录是否实际上是重解析点。 (重解析点是 NTFS 交接所基于的机制。远程存储服务使用重解析点和卷挂载点。)
备注
Windows 不支持与远程共享上的目录交接。
使用 Junction
语法
- 获取重解析点信息:
junction.exe [-s] [-q] <file or directory>
- 创建交接点:
junction.exe <junction directory> <junction target>
- 删除交接点:
junction.exe -d <junction directory>
parameters
展开表
参数 | 说明 |
---|---|
<file or directory> | 要查询重解析点信息的文件或文件夹的路径 |
-s | 递归子目录 |
<junction directory> | 要创建或删除的交接点的名称 |
<junction target> | 要创建的交接点目标的完整路径 |
-d | 删除交接点 |
示例
若要确定文件是否为交接,请指定文件名:
Windows 命令提示符复制
junction c:\test
若要列出目录下的交接,请包含 –s 开关:
Windows 命令提示符复制
junction -s c:\
为“c:\Program Files”创建交接 c:\Program-Files:
Windows 命令提示符复制
junction c:\Program-Files "c:\Program Files"
若要删除合交接,请使用 –d 开关:
Windows 命令提示符复制
junction -d c:\Program-Files
返回代码
0 – 成功时
-1 – 创建新交接失败时
0 – 删除交接失败时(例如,如果未找到文件)
0 – 检查上文件是否为交接失败时(例如找不到文件)
利用该方法就可以同步yuzu的存档到OneDrive了,我真是……啊哈哈哈哈哈哈哈哈哈……
junction -s <游戏存档的上级文件夹> <OneDrive剪切了存档的存档文件夹>
另外还有mklink的方法:
MKLINK [[/D] | [/H] | [/J]] Link Target
/D 创建目录符号链接。默认为文件符号链接。
/H 创建硬链接而非符号链接。
/J 创建目录联接。
Link 指定新的符号链接名称。
Target 指定新链接引用的路径(相对或绝对)。
参考步骤:
- 1.将package cache文件夹剪切到D盘根目录;
- 2.win+R,输入cmd 回车,输入命令:
mklink /j "C:\ProgramData\Package Cache" "D:\Package Cache"
回车,就可以看到操作成功的提示。
到此一游,好奇这种博客的服务器也是租的嘛
是的捏~(๑•̀ㅁ•́ฅ)