Directory.SetLastAccessTime(String, DateTime) Method

Definition

Sets the date and time the specified file or directory was last accessed.

public:
 static void SetLastAccessTime(System::String ^ path, DateTime lastAccessTime);
public static void SetLastAccessTime (string path, DateTime lastAccessTime);
static member SetLastAccessTime : string * DateTime -> unit
Public Shared Sub SetLastAccessTime (path As String, lastAccessTime As DateTime)

Parameters

path
String

The file or directory for which to set the access date and time information.

lastAccessTime
DateTime

An object that contains the value to set for the access date and time of path. This value is expressed in local time.

Exceptions

The specified path was not found.

.NET Framework and .NET Core versions older than 2.1: path is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with the GetInvalidPathChars() method.

path is null.

The specified path, file name, or both exceed the system-defined maximum length.

The caller does not have the required permission.

The current operating system is not Windows NT or later.

lastAccessTime specifies a value outside the range of dates or times permitted for this operation.

Examples

The following example demonstrates how to use SetLastAccessTime.

using namespace System;
using namespace System::IO;
int main()
{
   try
   {
      String^ path = "c:\\MyDir";
      if (  !Directory::Exists( path ) )
      {
         Directory::CreateDirectory( path );
      }
      Directory::SetLastAccessTime( path, DateTime(1985,5,4) );
      
      // Get the last access time of a well-known directory.
      DateTime dt = Directory::GetLastAccessTime( path );
      Console::WriteLine( "The last access time for this directory was {0}", dt );
      
      // Update the last access time.
      Directory::SetLastAccessTime( path, DateTime::Now );
      dt = Directory::GetLastAccessTime( path );
      Console::WriteLine( "The last access time for this directory was {0}", dt );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }

}
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        try
        {
            string path = @"c:\MyDir";
            if (!Directory.Exists(path))
            {
                Directory.CreateDirectory(path);
            }
            Directory.SetLastAccessTime(path, new DateTime(1985,5,4));

            // Get the last access time of a well-known directory.
            DateTime dt = Directory.GetLastAccessTime(path);
            Console.WriteLine("The last access time for this directory was {0}", dt);
            
            // Update the last access time.
            Directory.SetLastAccessTime(path, DateTime.Now);
            dt = Directory.GetLastAccessTime(path);
            Console.WriteLine("The last access time for this directory was {0}", dt);
        }

        catch (Exception e)
        {
            Console.WriteLine("The process failed: {0}", e.ToString());
        }
    }
}
open System
open System.IO

try
    let path = @"c:\MyDir"
    if not (Directory.Exists path) then
        Directory.CreateDirectory path |> ignore

    Directory.SetLastAccessTime(path, DateTime(1985,5,4))

    // Get the last access time of a well-known directory.
    let dt = Directory.GetLastAccessTime path
    printfn $"The last access time for this directory was {dt}"

    // Update the last access time.
    Directory.SetLastAccessTime(path, DateTime.Now)
    let dt = Directory.GetLastAccessTime path
    printfn $"The last access time for this directory was {dt}"

with e ->
    printfn $"The process failed: {e}"
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Try
            Dim path As String = "c:\MyDir"
            If Directory.Exists(path) = False Then
                Directory.CreateDirectory(path)
            End If
            Directory.SetLastAccessTime(path, New DateTime(1985, 5, 4))

            'Get the last access time of a well-known directory.
            Dim dt As DateTime = Directory.GetLastAccessTime(path)
            Console.WriteLine("The last access time for this directory was {0}", dt)

            'Update the last access time.
            Directory.SetLastAccessTime(path, DateTime.Now)
            dt = Directory.GetLastAccessTime(path)
            Console.WriteLine("The last access time for this directory was {0}", dt)

        Catch e As Exception
            Console.WriteLine("The process failed: {0}", e.ToString())
        End Try
    End Sub
End Class

Remarks

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.

The case-sensitivity of the path parameter corresponds to that of the file system on which the code is running. For example, it's case-insensitive on NTFS (the default Windows file system) and case-sensitive on Linux file systems.

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

Applies to

See also