דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. ארכיון code613m
  4. רשימת דיסקים עם הרשאת כתיבה

רשימת דיסקים עם הרשאת כתיבה

מתוזמן נעוץ נעול הועבר ארכיון code613m
7 פוסטים 2 כותבים 420 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • א מנותק
    א מנותק
    אבי
    כתב ב נערך לאחרונה על ידי
    #1

    אני רוצה לקבל שם של דיסק קשיח או נשלף המחובר למחשב
    בעל הרשאות כתיבה ומחיקה ליוזר הנוכחי.

    הפונקציה הבאה מחזירה רשימה של כל הדיסקים

    string[] DriveList = Environment.GetLogicalDrives();
    for (int i = 0; i < DriveList.Length; i++)
    {
       MessageBox.Show(DriveList[i]);
    }
    

    איך אפשר לקבל אינפורמציה על כל אחד מהם?

    תודה

    פורסם במקור בפורום CODE613 ב09/02/2015 19:29 (+02:00)

    תגובה 1 תגובה אחרונה
    0
    • dovidD מחובר
      dovidD מחובר
      dovid ניהול
      כתב ב נערך לאחרונה על ידי
      #2

      יאהוו אתה שואל שאלה על C#, לא על אקסס, הידד!

      אתה צריך להשתמש עם המתודה הזאת DriveInfo.GetDrives, היא עשירה יותר - היא לא מחזירה סתם מערך סטרינג אלא מערך של האובייקט DriveInfo עם שפע מידע על הכונן.

      פורסם במקור בפורום CODE613 ב09/02/2015 20:54 (+02:00)

      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

      בכל נושא אפשר ליצור קשר dovid@tchumim.com

      תגובה 1 תגובה אחרונה
      0
      • א מנותק
        א מנותק
        אבי
        כתב ב נערך לאחרונה על ידי
        #3

        @דוד ל.ט.

        יאהוו אתה שואל שאלה על C#, לא על אקסס, הידד!

        תודה תודה..

        @דוד ל.ט.

        אתה צריך להשתמש עם המתודה הזאת DriveInfo.GetDrives, היא עשירה יותר - היא לא מחזירה סתם מערך סטרינג אלא מערך של האובייקט DriveInfo עם שפע מידע על הכונן.

        אכן יש במתודה שפע של מידע כמו שם, סוג, גודל, מקום וכדו', אבל עדיין אין שם מידע על הרשאות.

        פורסם במקור בפורום CODE613 ב09/02/2015 22:42 (+02:00)

        תגובה 1 תגובה אחרונה
        0
        • dovidD מחובר
          dovidD מחובר
          dovid ניהול
          כתב ב נערך לאחרונה על ידי
          #4

          אכן. חיפשתי בגוגל: C# user has directory write permission

          והתוצאות - הדרך הקלאסית זה ללכוד שגיאת הרשאה...
          אז הנה הקוד שלכאורה עושה את זה, צריך לבדוק.

          static void Main(string[] args)
          {
              foreach (var drive in DriveInfo.GetDrives())
              {
                  Console.WriteLine("{0} : {1}", drive.Name,  CheckDriveForWrite(drive));
              }
              Console.ReadLine();
          }
          
          static DriveType[] drivesToIngorn = new DriveType[] { DriveType.CDRom, DriveType.Network, DriveType.NoRootDirectory }; 
          
          public static bool CheckDriveForWrite(DriveInfo d)
          {
              return (d.IsReady && !drivesToIngorn.Contains(d.DriveType) && HasFolderWritePermission(d.RootDirectory));
          }
          
          public static bool HasFolderWritePermission(DirectoryInfo destDir)
          {
              try
              {
                  var ds = destDir.GetAccessControl();
                  return true;
              }
              catch (UnauthorizedAccessException)
              {
                  return false;
              }
          }
          

          פורסם במקור בפורום CODE613 ב10/02/2015 12:12 (+02:00)

          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

          בכל נושא אפשר ליצור קשר dovid@tchumim.com

          תגובה 1 תגובה אחרונה
          1
          • א מנותק
            א מנותק
            אבי
            כתב ב נערך לאחרונה על ידי
            #5

            תודה, עובד מצוין, רק שהוא בודק גישה לתיקיית השורש
            ואני הייתי צריך לבדוק האם ישנה הרשאה ליצירת קובץ חדש בכונן.

            static void Main(string[] args)
                        {
                            foreach (var drive in DriveInfo.GetDrives())
                            {
                                Console.WriteLine("{0} : {1}", drive.Name, CheckDriveForWrite(drive));
                            }
                            Console.ReadLine();
                        }
            
                        static DriveType[] drivesToIngorn = new DriveType[] { DriveType.CDRom, DriveType.Network, DriveType.NoRootDirectory };
            
                        public static bool CheckDriveForWrite(DriveInfo d)
                        {
                            return (d.IsReady && !drivesToIngorn.Contains(d.DriveType) && HasFolderWritePermission(d.Name));
                        }
            
                        public static bool HasFolderWritePermission(string dn)
                        {
                            try
                            {
                                FileStream fs = File.Create(String.Format("{0}test.jpg", dn));
                                fs.Close();
                                File.Delete(String.Format("{0}test.jpg", dn));
                                return true;
                            }
                            catch (UnauthorizedAccessException)
                            {
                                return false;
                            }
                        }
            

            פורסם במקור בפורום CODE613 ב10/02/2015 16:24 (+02:00)

            תגובה 1 תגובה אחרונה
            0
            • dovidD מחובר
              dovidD מחובר
              dovid ניהול
              כתב ב נערך לאחרונה על ידי
              #6

              משונה לי מאוד הרשאות כתיבה בתיקייה אמורים לכלול יצירת קבצים חדשים. בכל מקרה אני הייתי נשכב על הכביש ולא עושה כזה דבר: לכתוב קובץ ולמחוק רק בשביל לבדוק? נורא. 😞 .

              אם אתה שותף לתחושה הרעה שלי ), בדוק אולי את הקוד הזה: http://stackoverflow.com/a/1281638/1271037

              פורסם במקור בפורום CODE613 ב10/02/2015 19:01 (+02:00)

              מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

              בכל נושא אפשר ליצור קשר dovid@tchumim.com

              תגובה 1 תגובה אחרונה
              0
              • א מנותק
                א מנותק
                אבי
                כתב ב נערך לאחרונה על ידי
                #7

                שותף בהחלט, אבל בשביל בדיקה חד פעמית בתחילת הקוד לא נשמע לי עד כדי כך נורא
                כמובן, רק אם אין פתרון אחר.

                אבדוק מה שכתבת, ואעדכן.

                פורסם במקור בפורום CODE613 ב10/02/2015 19:20 (+02:00)

                תגובה 1 תגובה אחרונה
                0

                בא תתחבר לדף היומי!
                • התחברות

                • אין לך חשבון עדיין? הרשמה

                • התחברו או הירשמו כדי לחפש.
                • פוסט ראשון
                  פוסט אחרון
                0
                • דף הבית
                • קטגוריות
                • פוסטים אחרונים
                • משתמשים
                • חיפוש
                • חוקי הפורום