Пример #1
0
        private static bool CheckJuntion(string bn, string an, out string rsn)
        {
            try
            {
                if (!JunctionPoint.Exists(an))
                {
                    rsn = "설정이 필요합니다";
                }
                else
                {
                    if (!string.Equals(JunctionPoint.GetTarget(an), bn))
                    {
                        rsn = "다른 프로그램에서 설정되어 있을 수 있습니다";
                    }
                    else
                    {
                        rsn = "정상입니다";
                        return(true);
                    }
                }
            }
            catch
            {
                // 이거 정션이 아니네
                rsn = "다른 프로그램이 만든 디렉토리가 있습니다";
            }

            return(false);
        }
Пример #2
0
 internal static Result Check(string srcname, string tgtname)
 {
     try
     {
         if (!JunctionPoint.Exists(tgtname))
         {
             return(Result.NotExist);                    // 설정이 필요함
         }
         else
         {
             if (!string.Equals(JunctionPoint.GetTarget(tgtname), srcname))
             {
                 return(Result.NotEqual);                        // 다른 프로그램에서 설정
             }
             return(Result.Ok);
         }
     }
     catch
     {
         // 정션이 아님
         return(Result.NotJunction);                     // 다른 프로그램이 만든 디렉터리
     }
 }
Пример #3
0
        private static void MakeJunction(string bn, string an)
        {
            if (Directory.Exists(an))
            {
                if (JunctionPoint.Exists(an))
                {
                    JunctionPoint.Delete(an);
                }
                else
                {
                    DirectoryInfo di = new DirectoryInfo(an);
                    FileInfo[]    fs = di.GetFiles("*.*", SearchOption.AllDirectories);

                    foreach (var f in fs)
                    {
                        f.Attributes = FileAttributes.Normal;
                    }

                    Directory.Delete(an, true);
                }
            }

            JunctionPoint.Create(bn, an, true);
        }
Пример #4
0
        internal static void Make(string srcname, string tgtname)
        {
            if (Directory.Exists(tgtname))
            {
                if (JunctionPoint.Exists(tgtname))
                {
                    JunctionPoint.Delete(tgtname);
                }
                else
                {
                    DirectoryInfo di = new DirectoryInfo(tgtname);
                    FileInfo[]    fs = di.GetFiles("*.*", SearchOption.AllDirectories);

                    foreach (var f in fs)
                    {
                        f.Attributes = FileAttributes.Normal;
                    }

                    Directory.Delete(tgtname, true);
                }
            }

            JunctionPoint.Create(srcname, tgtname, true);
        }