File.SetAttributes(String, FileAttributes) 메서드

정의

지정된 경로에 있는 파일의 지정된 FileAttributes를 가져옵니다.Sets the specified FileAttributes of the file on the specified path.

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

매개 변수

path
String

파일 경로입니다.The path to the file.

fileAttributes
FileAttributes

열거형 값의 비트 조합입니다.A bitwise combination of the enumeration values.

예외

path가 비어 있거나, 공백만 포함하거나, 잘못된 문자를 포함하거나, 파일 특성이 올바르지 않습니다.path is empty, contains only white spaces, contains invalid characters, or the file attribute is invalid.

지정된 경로, 파일 이름 또는 둘 다가 시스템에서 정의한 최대 길이를 초과합니다.The specified path, file name, or both exceed the system-defined maximum length.

path의 형식이 잘못되었습니다.path is in an invalid format.

지정된 경로가 잘못되었습니다(예: 매핑되지 않은 드라이브에 있음).The specified path is invalid, (for example, it is on an unmapped drive).

파일을 찾을 수 없는 경우The file cannot be found.

path에 읽기 전용인 파일이 지정되었습니다.path specified a file that is read-only.

-또는--or- 현재 플랫폼이 해당 작업을 지원하지 않는 경우This operation is not supported on the current platform.

-또는--or- path에 디렉터리가 지정되었습니다.path specified a directory.

-또는--or- 호출자에게 필요한 사용 권한이 없습니다.The caller does not have the required permission.

예제

다음 예에서는 파일에 ArchiveHidden 특성을 적용 하 여 GetAttributesSetAttributes 하는 방법을 보여 줍니다.The following example demonstrates the GetAttributes and SetAttributes methods by applying the Archive and Hidden attributes to a file.

using namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file if it does not exist.
   if (  !File::Exists( path ) )
   {
      File::Create( path );
   }

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

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;
    }
}
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 매개 변수는 상대 또는 절대 경로 정보를 지정 하는 데 사용할 수 있습니다.The path parameter is permitted to specify relative or absolute path information. 상대 경로 정보는 현재 작업 디렉터리에 상대적으로 해석 됩니다.Relative path information is interpreted as relative to the current working directory. 현재 작업 디렉터리를 가져오려면 GetCurrentDirectory를 참조 하세요.To obtain the current working directory, see GetCurrentDirectory.

Hidden, ReadOnly등의 특정 파일 특성을 결합할 수 있습니다.Certain file attributes, such as Hidden and ReadOnly, can be combined. Normal와 같은 다른 특성은 단독으로 사용 해야 합니다.Other attributes, such as Normal, must be used alone.

SetAttributes 메서드를 사용 하 여 File 개체의 압축 상태를 변경할 수 없습니다.It is not possible to change the compression status of a File object using the SetAttributes method.

일반적인 i/o 작업 목록은 일반적인 I/o 작업을 참조 하세요.For a list of common I/O tasks, see Common I/O Tasks.

보안

FileIOPermission
페이지를 읽고 파일을 작성 합니다.for reading and writing files. 연결 된 열거형: WriteAssociated enumeration: Write

적용 대상

추가 정보