نمایش نتایج 1 تا 3 از 3

نام تاپیک: تشخیص محدود بودن دسترسی به یک فایل یا فولدر

  1. #1
    کاربر دائمی
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    یزد
    پست
    412

    تشخیص محدود بودن دسترسی به یک فایل یا فولدر

    سلام دوستان
    چه جوری می شه تشخیص داد دسترسی به یک فایل یافولدر محدود است
    مثلا برای به دست اوردن لیست فایل های یک فولدر Directory.GetDirectories() از این دستور استفاده می کنیم ولی بعضی از فولدر ها دسترسی به انها محدود است و خطای زیر را می ده

    Access to the path 'C:\Documents and Settings' is denied.


    چه جوری می شه از این خطا جلوگیری کرد
    ممنون از راهنماییتون

  2. #2
    کاربر دائمی
    تاریخ عضویت
    اسفند 1387
    محل زندگی
    یزد
    پست
    412

    نقل قول: تشخیص محدود بودن دسترسی به یک فایل یا فولدر

    خودم پیدا کردم

    FileIOPermission f2 = new FileIOPermission(FileIOPermissionAccess.Read, "C:\\test_r");
    f2.AddPathList(FileIOPermissionAccess.Write | FileIOPermissionAccess.Read, "C:\\example\\out.txt");
    try
    {
    f2.Demand();
    }


  3. #3

    Smile نقل قول: تشخیص محدود بودن دسترسی به یک فایل یا فولدر

    با سلام

    خواستم کد رو کامل کنم:


    using System.IO;


    با فرض اینکه 8 عدد CheckBox با نام های:
    chkArchive و chkCompressed و chkHidden و chkNormal و chkProtected و chkReadOnly و chkSystem و chkTemporary

    داریم. تابع زیر دقیقا این کار رو انجام میده:


    private void ReadAttributes()
    {
    try
    {
    string filePath=@"C:\File or folder name";
    chkArchive.Checked = ((File.GetAttributes(filePath) & FileAttributes.Archive) == FileAttributes.Archive);
    chkCompressed.Checked = ((File.GetAttributes(filePath) & FileAttributes.Compressed) == FileAttributes.Compressed);
    chkHidden.Checked = ((File.GetAttributes(filePath) & FileAttributes.Hidden) == FileAttributes.Hidden);
    chkNormal.Checked = ((File.GetAttributes(filePath) & FileAttributes.Normal) == FileAttributes.Normal);
    chkProtected.Checked = ((File.GetAttributes(filePath) & FileAttributes.System) == FileAttributes.System) && ((File.GetAttributes(filePath) & FileAttributes.Hidden) == FileAttributes.Hidden);
    chkReadOnly.Checked = ((File.GetAttributes(filePath) & FileAttributes.ReadOnly) == FileAttributes.ReadOnly);
    chkSystem.Checked = ((File.GetAttributes(filePath) & FileAttributes.System) == FileAttributes.System);
    chkTemporary.Checked = ((File.GetAttributes(filePath) & FileAttributes.Temporary) == FileAttributes.Temporary);
    }
    catch
    {
    }
    }


    خوب حالا با کد زیر Attribute هر File or Folder رو میتونی تغییر بدی:


    FileInfo file = new FileInfo(@"C:\File or Folder Name");

    for example:
    file.Attributes = FileAttributes.Normal;

    or "Super Hidden" :
    file.Attributes=FileAttributes.System ^ FileAttributes.ReadOnly ^ FileAttributes.Hidden ^ FileAttributes.Archive;

    or:
    file.Attributes=FileAttributes.System ^ FileAttributes.ReadOnly;

    and...
    موفق باشید
    علی پاییزی



قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •