Directory.GetDirectoryRoot(String) Directory.GetDirectoryRoot(String) Directory.GetDirectoryRoot(String) Directory.GetDirectoryRoot(String) Method

Definition

Returns the volume information, root information, or both for the specified path.

public:
 static System::String ^ GetDirectoryRoot(System::String ^ path);
public static string GetDirectoryRoot (string path);
static member GetDirectoryRoot : string -> string
Public Shared Function GetDirectoryRoot (path As String) As String

Parameters

path
String String String String

The path of a file or directory.

Returns

A string that contains the volume information, root information, or both for the specified path.

Exceptions

path is a zero-length string, contains only white space, or contains one or more invalid characters. You can query for invalid characters with GetInvalidPathChars().

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

Examples

The following example illustrates how to set the current directory and display the directory root.

// This sample shows how to set the current directory and how to determine
// the root directory.
using namespace System;
using namespace System::IO;
int main()
{
   
   // Create string for a directory. This value should be an existing directory
   // or the sample will throw a DirectoryNotFoundException.
   String^ dir = "C:\\test";
   try
   {
      
      //Set the current directory.
      Directory::SetCurrentDirectory( dir );
   }
   catch ( DirectoryNotFoundException^ e ) 
   {
      Console::WriteLine( "The specified directory does not exist. {0}", e );
   }

   
   // Print to console the results.
   Console::WriteLine( "Root directory: {0}", Directory::GetDirectoryRoot( dir ) );
   Console::WriteLine( "Current directory: {0}", Directory::GetCurrentDirectory() );
}

// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test
// This sample shows how to set the current directory and how to determine
// the root directory.
using System;
using System.IO;

namespace IOSamples
{
  public class DirectoryRoot
  {
    public static void Main()
    {
	// Create string for a directory. This value should be an existing directory
	// or the sample will throw a DirectoryNotFoundException.
      string dir = @"C:\test";		
	  try
	  {
		  //Set the current directory.
		  Directory.SetCurrentDirectory(dir);
	  }
	  catch (DirectoryNotFoundException e)
	  {
		  Console.WriteLine("The specified directory does not exist. {0}", e);
	  }
	// Print to console the results.
	  Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir));
	  Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory());
    }
  }
}
// The output of this sample depends on what value you assign to the variable dir.
// If the directory c:\test exists, the output for this sample is:
// Root directory: C:\
// Current directory: C:\test

' This sample shows how to set the current directory and how to determine
' the root directory.
Imports System
Imports System.IO

Public Class DirectoryRoot
   
   Public Shared Sub Main()
      ' Create string for a directory. This value should be an existing directory
      ' or the sample will throw a DirectoryNotFoundException.
      Dim dir As String = "C:\test"
      Try
         'Set the current directory.
         Directory.SetCurrentDirectory(dir)
      Catch e As DirectoryNotFoundException
         Console.WriteLine("The specified directory does not exist. {0}", e)
      End Try
      ' Print to console the results.
      Console.WriteLine("Root directory: {0}", Directory.GetDirectoryRoot(dir))
      Console.WriteLine("Current directory: {0}", Directory.GetCurrentDirectory())
   End Sub 'Main
End Class 'DirectoryRoot
' The output of this sample depends on what value you assign to the variable dir.
' If the directory c:\test exists, the output for this sample is:
' Root directory: C:\
' Current directory: C:\test

Remarks

This method obtains the fully qualified path name of path, as returned by GetFullPath, and returns root directory information. The specified path is not required to exist.

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 path parameter is not case-sensitive.

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

Security

FileIOPermission
for access to path information for the current directory. Associated enumeration: PathDiscovery

Applies to

See also