1 个不稳定版本
0.1.0 | 2019 年 10 月 13 日 |
---|
#15 in #wsl
22KB
575 行
mklink
这主要是从 WSL 中轻松调用 mklink
的一种方式。在 WSL 中创建的 Linux 符号链接与 Windows 不兼容,但 Windows 符号链接和目录连接点与 WSL 兼容,因此通过 mklink
创建符号链接更为可取。
mklink
必须通过 cmd.exe
调用,但它似乎不是一个独立的二进制文件。当我尝试从 WSL 中调用 cmd.exe /C mklink [...args]
时,在 bash 中有效,但程序化调用无效,因此我在此处创建了一个更好的解决方案。
这个 Rust 项目,当编译为 Windows 时,创建了一个 Windows 可执行文件 mklink.exe
,它通过直接调用 Win32 API 重新创建了 cmd.exe
中的 mklink
功能,仅作为一个独立的二进制文件。
当编译为 Linux(假设 WSL)时,创建一个 mklink
二进制文件,它将 WSL 路径转换为 Windows 路径,然后执行 mklink.exe
。
用法
USAGE:
mklink [FLAGS] <target> <link>
FLAGS:
-d, --dir
-f, --file
-h, --hard
--help Prints help information
-V, --version Prints version information
ARGS:
<target>
<link>
安装
您需要克隆仓库,然后从 Windows(PowerShell)和 WSL 运行 cargo install --path .
。为此,您需要在 Windows 和 WSL 上都安装 Rust。您也可以尝试交叉编译,但我认为这种方法更简单。
依赖项
~3.5MB
~63K SLoC