1 out of 2 rated this helpful - Rate this topic

Path.IsPathRooted Method

Updated: April 2011

Gets a value indicating whether the specified path string contains a root.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)
public static bool IsPathRooted(
	string path
)

Parameters

path
Type: System.String
The path to test.

Return Value

Type: System.Boolean
true if path contains a root; otherwise, false.
Exception Condition
ArgumentException

path contains one or more of the invalid characters defined in GetInvalidPathChars.

The IsPathRooted method returns true if the first character is a directory separator character such as "\", or if the path starts with a drive letter and colon (:). For example, it returns true for path strings such as "\\MyDir\\MyFile.txt", "C:\\MyDir", or "C:MyDir". It returns false for path strings such as "MyDir".

This method does not verify that the path or file name exists.

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

The following code example demonstrates how the IsPathRooted method can be used to test three strings.


string fileName = @"C:\mydir\myfile.ext";
string UncPath = @"\\myPc\mydir\myfile";
string relativePath = @"mydir\sudir\";
bool result;

result = Path.IsPathRooted(fileName);
Console.WriteLine("IsPathRooted('{0}') returns {1}", 
    fileName, result);

result = Path.IsPathRooted(UncPath);
Console.WriteLine("IsPathRooted('{0}') returns {1}", 
    UncPath, result);

result = Path.IsPathRooted(relativePath);
Console.WriteLine("IsPathRooted('{0}') returns {1}", 
    relativePath, result);

// This code produces output similar to the following:
//
// IsPathRooted('C:\mydir\myfile.ext') returns True
// IsPathRooted('\\myPc\mydir\myfile') returns True
// IsPathRooted('mydir\sudir\') returns False


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Date

History

Reason

April 2011

Clarified method evaluation.

Customer feedback.

Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Another bug
It will also return false for a path like file://\\myPc\mydir\myfile although it returns true for \\myPc\mydir\myfile.
Another situation this method returns true.

This call will return ture:
Path.IsPathRooted("\\Test Folder");

If a relative path is expected, it should be written like this:
Path.IsPathRooted("Test Folder");

Maybe some bug

Be careful, this method returns true also on relative path like this:

bool b = System.IO.Path.IsPathRooted(@"C:directory\file.txt");

The "C:directory\file.txt" is a relative path "directory\file.txt" to the current directory of drive C: