This documentation is archived and is not being maintained.

File.GetAttributes Method

Gets the FileAttributes of the file on the path.

Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)

static FileAttributes GetAttributes (
	String^ path
public static FileAttributes GetAttributes (
	String path
public static function GetAttributes (
	path : String
) : FileAttributes
Not applicable.



The path to the file.

Return Value

The FileAttributes of the file on the path.

Exception typeCondition


path is empty, contains only white spaces, or contains invalid characters.


The specified path, file name, or both exceed the system-defined maximum length. For example, on Windows-based platforms, paths must be less than 248 characters, and file names must be less than 260 characters.


path is in an invalid format.


path represents a file and is invalid, such as being on an unmapped drive, or the file cannot be found.


path represents a directory and is invalid, such as being on an unmapped drive, or the directory cannot be found.

The path parameter is permitted to specify relative or absolute path information. Relative path information is interpreted as relative to the current working directory. To obtain the current working directory, see GetCurrentDirectory.

For a list of common I/O tasks, see Common I/O Tasks.

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 exists.
   if (  !File::Exists( path ) )
      File::Create( path );

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

import System.*;
import System.IO.*;
import System.Text.*;

class Test
    public static void main(String[] args)
        String path = "c:\\temp\\MyTest.txt";

        // Create the file if it exists.
        if (!(File.Exists(path))) {

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

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0