File.SetAttributes(String, FileAttributes) メソッド

定義

指定したパスでファイルの指定された 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

列挙値のビットごとの組み合わせ。

例外

2.1 より前のバージョンの .NET Framework および .net Core path が空であるか、空白のみで構成されているか、無効な文字が含まれているか、ファイル属性が無効です。

指定したパス、ファイル名、またはその両方がシステム定義の最大長を超えています。

path の形式が正しくありません。

指定されたパスが無効です (たとえば、マップされていないドライブにあるなど)。

ファイルが見つかりません。

path が読み取り専用のファイルを指定しました。

  • または - この操作は、現在のプラットフォームではサポートされていません。

  • または - path がディレクトリを指定しました。

  • または - 呼び出し元に、必要なアクセス許可がありません。

次の例では GetAttributesSetAttributes Archive ファイルに属性と属性を適用することによって、メソッドとメソッドを示し Hidden ます。

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パラメーターで相対パスまたは絶対パス情報を指定できます。 相対パス情報は、現在の作業ディレクトリを基準として解釈されます。 現在の作業ディレクトリを取得するには、「」を参照してください GetCurrentDirectory

やなどの特定のファイル属性を Hidden ReadOnly 組み合わせることができます。 などの他の属性は Normal 、単独で使用する必要があります。

Fileメソッドを使用して、オブジェクトの圧縮状態を変更することはできません SetAttributes

共通 I/O タスクの一覧は、 共通 I/O タスク を参照してください。

適用対象

こちらもご覧ください