File.SetAttributes Метод

Определение

Перегрузки

Имя Описание
SetAttributes(SafeFileHandle, FileAttributes)

Задает указанный FileAttributes файл или каталог, связанный с fileHandle.

SetAttributes(String, FileAttributes)

Задает указанный FileAttributes файл по указанному пути.

SetAttributes(SafeFileHandle, FileAttributes)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Задает указанный FileAttributes файл или каталог, связанный с fileHandle.

public:
 static void SetAttributes(Microsoft::Win32::SafeHandles::SafeFileHandle ^ fileHandle, System::IO::FileAttributes fileAttributes);
public static void SetAttributes(Microsoft.Win32.SafeHandles.SafeFileHandle fileHandle, System.IO.FileAttributes fileAttributes);
static member SetAttributes : Microsoft.Win32.SafeHandles.SafeFileHandle * System.IO.FileAttributes -> unit
Public Shared Sub SetAttributes (fileHandle As SafeFileHandle, fileAttributes As FileAttributes)

Параметры

fileHandle
SafeFileHandle

Файл SafeFileHandle или каталог, для которого fileAttributes следует задать.

fileAttributes
FileAttributes

Побитовое сочетание значений перечисления.

Исключения

fileHandle равно null.

Вызывающий объект не имеет требуемого разрешения.

Комментарии

Невозможно изменить состояние File сжатия объекта с помощью SetAttributes(SafeFileHandle, FileAttributes) метода.

Применяется к

SetAttributes(String, FileAttributes)

Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs
Исходный код:
File.cs

Задает указанный FileAttributes файл по указанному пути.

public:
 static void SetAttributes(System::String ^ path, System::IO::FileAttributes fileAttributes);
public static void SetAttributes(string path, System.IO.FileAttributes fileAttributes);
static member SetAttributes : string * System.IO.FileAttributes -> unit
Public Shared Sub SetAttributes (path As String, fileAttributes As FileAttributes)

Параметры

path
String

Путь к файлу.

fileAttributes
FileAttributes

Побитовое сочетание значений перечисления.

Исключения

.NET Framework и .NET Core версии старше 2.1: path пуст, содержит только пробелы, содержит недопустимые символы или атрибут файла является недопустимым.

Указанный путь, имя файла или оба превышают определенную системой максимальную длину.

path имеет недопустимый формат.

Указанный путь недопустим (например, он находится на несопоставленном диске).

Не удается найти файл.

path указали файл, доступный только для чтения.

–или–

Эта операция не поддерживается на текущей платформе.

–или–

path указан каталог.

–или–

Вызывающий объект не имеет требуемого разрешения.

Примеры

В следующем примере показаны GetAttributes методы и SetAttributes методы путем применения Archive атрибутов к Hidden файлу.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Create the file if it does not exist.
        if (!File.Exists(path))
        {
            File.Create(path);
        }

        FileAttributes attributes = File.GetAttributes(path);

        if ((attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
        {
            // Show the file.
            attributes = RemoveAttribute(attributes, FileAttributes.Hidden);
            File.SetAttributes(path, attributes);
            Console.WriteLine("The {0} file is no longer hidden.", path);
        }
        else
        {
            // Hide the file.
            File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.Hidden);
            Console.WriteLine("The {0} file is now hidden.", path);
        }
    }

    private static FileAttributes RemoveAttribute(FileAttributes attributes, FileAttributes attributesToRemove)
    {
        return attributes & ~attributesToRemove;
    }
}
open System.IO
open System.Text

let removeAttribute attributes attributesToRemove = attributes &&& ~~~attributesToRemove

let path = @"c:\temp\MyTest.txt"

// Create the file if it does not exist.
if File.Exists path |> not then
    File.Create path |> ignore

let attributes = File.GetAttributes path

if attributes &&& FileAttributes.Hidden = FileAttributes.Hidden then
    // Show the file.
    let attributes =
        removeAttribute attributes FileAttributes.Hidden

    File.SetAttributes(path, attributes)
    printfn $"The {path} file is no longer hidden."
else
    // Hide the file.
    File.SetAttributes(path, File.GetAttributes path ||| FileAttributes.Hidden)
    printfn $"The {path} file is now hidden."
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"

        ' Create the file if it does not exist.
        If File.Exists(path) = False Then
            File.Create(path)
        End If

        Dim attributes As FileAttributes
        attributes = File.GetAttributes(path)

        If (attributes And FileAttributes.Hidden) = FileAttributes.Hidden Then
            ' Show the file.
            attributes = RemoveAttribute(attributes, FileAttributes.Hidden)
            File.SetAttributes(path, attributes)
            Console.WriteLine("The {0} file is no longer hidden.", path)
        Else
            ' Hide the file.
            File.SetAttributes(path, File.GetAttributes(path) Or FileAttributes.Hidden)
            Console.WriteLine("The {0} file is now hidden.", path)
        End If
    End Sub

    Public Shared Function RemoveAttribute(ByVal attributes As FileAttributes, ByVal attributesToRemove As FileAttributes) As FileAttributes
        Return attributes And (Not attributesToRemove)
    End Function
End Class

Комментарии

Параметр path может указывать относительные или абсолютные сведения о пути. Относительные сведения о пути интерпретируются как относительные к текущему рабочему каталогу. Чтобы получить текущий рабочий каталог, см. GetCurrentDirectory.

Некоторые атрибуты файла, такие как Hidden и ReadOnly, могут быть объединены. Другие атрибуты, например Normal, должны использоваться только.

Невозможно изменить состояние File сжатия объекта с помощью SetAttributes метода.

Список распространенных задач ввода-вывода см. в разделе Распространенные задачи ввода-вывода.

См. также раздел

Применяется к