WinXP 上的符号链接

WinXP 上的符号链接

我正在运行 Windows XP 和 Cygwin。有没有办法创建某种符号链接,这样,如果非 Cygwin 程序将 /cygdrive/c 作为命令行参数传递,它会在 c:\ 中查找所需的任何文件/目录?

答案1

有一种方法可以在 Windows 上创建符号链接,下载连接点微软的工具,并用它来创建一个符号链接(在 NTFS 上,它们被实现为连接点)。然后创建一个 \cygdrive\c 目录,并从该目录创建一个到 c:\ 的连接点

md \cygdrive\c
junction \cygdrive\c \

现在这可能有效也可能无效,我没有安装 cygwin。它依赖于:

  1. 程序将 /cygdrive/c 中的正斜杠解释为反斜杠(有些程序可能会这样做)
  2. 将工作目录设置为具有符号链接的驱动器,因为以 \ 开头的路径是相对于当前驱动器的。

答案2

如果你从 cygwin 的 bash 调用不支持 cygwin 的程序,并将路径作为参数传递,例如

$ windowsProgram.exe "pathArg1" "pathArg2"

然后可以将每个 pathArg 转换为“$(cygpath -w pathArg)”,即说

$ windowsProgram.exe "$(cygpath -w pathArg1)" "$(cygpath -w pathArg2)"

。很丑,但是应该可以工作吧?

相关内容