相关疑难解决方法(0)

找出文件是否是PowerShell中的符号链接

我有一个PowerShell脚本,它正在走一个目录树,有时我在那里硬链接的辅助文件不应该被处理.有没有一种简单的方法可以找出文件(即System.IO.FileInfo)是否是硬链接?

如果没有,用符号链接(符号链接)会更容易吗?

powershell symlink hardlink

24
推荐指数
4
解决办法
2万
查看次数

检测符号链接,连接点,挂载点和硬链接

有谁知道如何检查文件或目录是符号链接,连接点,挂载点还是硬链接

据我所知,通过检查文件的"ReparsePoint"属性来检测符号链接.通过检查目录中的"ReparsePoint"属性来检测连接点.因此,如果在文件上设置"ReparsePoint"属性,它必须是符号链接,否则如果它在目录上设置,它只能是一个连接点......对吗?

好到目前为止,但我仍然不知道如何检测"挂载点"和"硬链接".谁能告诉我怎么做?

.net c# windows filesystems reparsepoint

11
推荐指数
2
解决办法
1万
查看次数

扫描目录'User\Documents\My Music'时出现UnauthorizedAccessException

  1. 问题:为什么在扫描用户的"我的文档"文件夹时出现此错误,但在扫描"我的音乐/我的图片/我的视频"目录时却没有?
  2. 次要的, 不太重要的问题:有没有办法避免这种情况,而无需专门过滤这些文件夹,或使用try/catch块?

我更喜欢那些教我如何钓鱼的答案,而不仅仅是给我鱼.就在这时,我不确定我需要在哪里专门回答这个问题. 我已经阅读了有关提升权限遍历文件系统的文档,并花了一周时间寻找为什么我可以在'User\My Music'上设置DirectoryInfo而不是'User\Documents\My Music'(链接)并且只是在学习更多方面,我会在不同的方向上享受一点点提升.

我捕获了最初在尝试Directory.GetFiles('path',"*",SearchOption.AllDirectories)时抛出的'UnauthorizedAccessException',其中path是用户的"我的文档".为了处理异常,我知道我需要手动遍历目录.哪个有效,从子目录返回文件.

初始GetFiles函数的代码:

public static string[] GetFiles(string path)
{
    string[] files;
    try
    {
        files = Directory.GetFiles(path, "*", SearchOption.AllDirectories);
    }
    catch(UnauthorizedAccessException ex)
    { files = WalkDirectory(path); }
    return files;
}

public static string[] WalkDirectory(string path)
{
    List<string> files = new List<string>();
    DirectoryInfo dir = new DirectoryInfo(path);

    foreach (DirectoryInfo subDir in dir.GetDirectories())
    {
        try
        {
            files.AddRange(WalkDirectory(subDir.FullName));
        }
        catch(UnauthorizedAccessException ex)
        {
            // complete fail to walk directory listed
            throw ex;
        } …
Run Code Online (Sandbox Code Playgroud)

directory c#-4.0

6
推荐指数
1
解决办法
1937
查看次数

递归获取文件:跳过无法读取的文件/目录?

我想获取数组目录中的所有文件(包括子文件夹中的文件)

string[] filePaths = Directory.GetFiles(@"c:\",SearchOption.AllDirectories);     
Run Code Online (Sandbox Code Playgroud)

这个问题是:如果抛出异常,整个命令就会停止.有没有更好的方法来做到这一点,如果一个文件夹无法访问它只会跳过它?

c# directory exception file

6
推荐指数
1
解决办法
2501
查看次数