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
Public Shared Sub SetAttributes (path As String, fileAttributes As FileAttributes)

パラメーター

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.

次の例では、ファイルに Archive 属性と Hidden 属性を適用することによって、GetAttributes メソッドと SetAttributes メソッドを示します。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.

HiddenReadOnlyなどの特定のファイル属性を組み合わせることができます。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.

適用対象

こちらもご覧ください