windows符号链接和目录的区别

在尝试区分 Windows 符号链接和目录时,我遇到了 Go 问题。我用谷歌搜索,我能找到的只有这个:https : //github.com/golang/go/issues/3498#issuecomment-142810957


不幸的是,它已关闭且未在处理中。


所以我的问题是,有什么解决方法吗?我试图用符号链接列出路径,但它返回的结果与在空目录中返回的相同。


使用 python 我能够做这样的事情:


def test(dir):

    try:

        os.chdir(dir)

    except Exception as e:

        if "[Error 2]" in str(e):

            return False

        else:

            return True

有没有我可以用来从 go 调用来检测它的 bash 命令?


我的想法快用完了:(


ABOUTYOU
浏览 295回答 1
1回答

哆啦的时光机

我看到的唯一测试(我刚刚在 Windows 上使用 go 1.5.1 对其进行了测试)在os/os_test.go:fromstat, err = Lstat(from)if err != nil {    t.Fatalf("lstat %q failed: %v", from, err)}if fromstat.Mode()&ModeSymlink == 0 {    t.Fatalf("symlink %q, %q did not create symlink", to, from)}它使用os/#Lstat:Lstat返回一个FileInfo描述命名的文件。如果文件是符号链接,则返回FileInfo描述符号链接。Lstat不尝试点击链接。如果有错误,它将是 类型*PathError。您还可以获取os.Stat()相同的文件夹,然后调用os.Samefile()(如本测试中所示):if !SameFile(tostat, fromstat) {    t.Errorf("symlink %q, %q did not create symlink", to, from)}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go