我需要找到一种方法将符号链接/连接从我的 C: 复制/移动到网络驱动器。
我可以使用 MKLINK 命令创建符号链接,但我无法将它移动到我需要它的 UNC 文件夹中。
如果我尝试在 UNC 文件夹中创建它,MKLINK 将失败,如果我尝试 XCOPY /b /i 我会收到一条错误消息并且文件不会被复制。
当然,我总是可以使用 Windows 资源管理器并拖放或复制/粘贴或剪切/粘贴,但这是我需要在批处理脚本中自动执行的操作。
符号链接依赖于磁盘。
硬链接是文件的文件系统表示,多个路径通过该文件引用同一卷中的单个文件。
联结(也称为软链接)与硬链接的不同之处在于它引用的存储对象是单独的目录,并且联结可以链接位于同一台计算机上不同本地卷上的目录。否则,结点的操作与硬链接相同。软链接是通过重解析点实现的。
来自 Windows Vista SDK。如果你安装了 Hardlinks and Junctions ms-help://MS.MSSDK.1033/MS.WinSDK.1033/fileio/fs/hard_links_and_junctions.htm
这是我的另一篇文章中的一些内容,它解释了 system32 中的所有文件如何具有两个硬链接(因为 explorer/cmd 显示的窗口比实际使用的多一些)。
文件的当前版本硬链接到文件系统其余部分的适当位置。硬链接是一个文件名。所有文件至少有一个硬链接。Windows 系统文件有两个硬链接,一个在 WinSxS 中,一个在(通常)c:\windows\system32 中。两个名称都指向磁盘上的相同字节。
由于文件有两个名称,因此资源管理器会计算两次,一次在 System32 中,一次在 WinSxS 中。
它还有其他用途。它允许多个程序使用不同版本的 dll。
关键是它存储在文件夹文件中。它不能在另一个磁盘上。重解析点在访问时运行代码。由于某种原因,该代码允许其他驱动器但不允许远程。
看看这是否有帮助
subst /?
subst k: \\127.0.0.1\C$
或使用快捷方式。
我最终使用了在其他地方找到的 VB 脚本来创建快捷方式。它不关心您是否将生成的链接保存在本地或 UNC 位置。
文件“createshortcut.vbs”
Set oWS = WScript.CreateObject("WScript.Shell")
sLinkFile = WScript.Arguments(0)
Set oLink = oWS.CreateShortcut(sLinkFile)
oLink.TargetPath = WScript.Arguments(1)
' oLink.Arguments = ""
' oLink.Description = "MyProgram"
' oLink.HotKey = "ALT+CTRL+F"
' oLink.IconLocation = "C:\Program Files\MyApp\MyProgram.EXE, 2"
' oLink.WindowStyle = "1"
' oLink.WorkingDirectory = "C:\Program Files\MyApp"
oLink.Save
调用为“cscript createshortcut.vbs link_filename target_location”
不确定是否有帮助:使用 RDC 时,我能够使用 mklink 连接到本地 pc
在设置中连接期间,添加应与 RDC 连接的分区,
然后如果连接处于活动状态,您将能够使用 mklink 到该驱动器,例如: \tsclient\I\data .... 根据您的光盘,它可以是 I: 或 C: D: 等