如何在 CMD.exe 中创建符号(硬链接)

如何在 CMD.exe 中创建符号(硬链接)

我需要在没有安装软件的情况下做到这一点......

有任何想法吗?

Windows XP 上的 MSDOS(cmd.exe)

答案1

您说的是 MS-DOS 还是 Windows XP?

由于您很可能只是在谈论从 Windows XP 上的命令提示符执行此操作,因此我将首先回答这种情况……>微笑<

在 Windows XP 下的 NTFS 卷上,您可以使用“fsutil”工具创建硬链接:

fsutil hardlink create <destination filename> <source filename>

源和目标必须位于同一个 NTFS 卷上。


MS-DOS 仅支持 FAT 文件系统(各种类型)。FAT 不“正式”支持硬链接。您可以通过两个引用相同 FAT 链的目录条目来创建硬链接的效果。但是,CHKDSK 会将此检测为“错误”并进行修复。

如果您不介意使用 DEBUG 手动操作目录结构,那么无需安装任何软件即可完成此操作。虽然不太美观,但可以正常工作。

不过,正如我所说,从技术上讲,让两个目录条目指向同一个 FAT 链是违法的。在这样的卷上运行磁盘碎片整理程序可能会损坏文件系统。CHKDSK 肯定会将这种“临时拼凑的硬链接”视为文件系统错误。

答案2

fsutil hardlink 仅适用于文件。如果你想链接到目录,你可以使用交界处来自 sysinternals 包。

请注意:如果您尝试删除链接,目标目录的内容也将被删除。要删除链接,您应该使用juncion -d开关。

您可以在 Total commander 中识别链接:它们的图标与目录不同。在 Windows 资源管理器中,这些链接看起来与任何目录相同。

答案3

linkd.exe 位于 Windows 2003 资源工具包中。我刚刚测试过它,它比 NTFS 连接更好用。如果您可以下载 linkd.exe 并让它在 XP 上运行,那么一切就都准备好了。

答案4

首先,你最好知道 cmd.exe 是不是MS-DOS,如今 Windows 的任何版本中都不再有 DOS 的痕迹。DOS 在 Windows 95/98/ME 之后消亡,XP 及其后继者建立在 NT 上,而 NT 中从未有任何 DOS。cmd.exe 是一个本机 Windows 应用程序,表面上看起来像命令行,能够接受类似于旧 DOS 命令的命令,但它不是DOS。

其次,在 Windows 中创建硬链接之前,您需要阅读并理解以下内容:http://blogs.msdn.com/oldnewthing/archive/2009/09/28/9900082.aspx

最后,为了完成脏活,请按照 Evan 上面描述的方式使用 fsutil,或者按照这里记录的方式使用:http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/fsutil.mspx?mfr=true

相关内容