PathUtil.Normalize(String) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Returns a normalized form of the given path.
What it does:
- Takes pains not to allocate extra temporary strings.
- Verifies that the path contains no invalid path characters, throwing an exception if any invalid characters are found.
- Strips leading and trailing whitespace.
- Replaces "/" with ""
- Replaces multiple consecutive "" with a single "", except for the leading "\" of a UNC path.
- Removes the trailing "", unless it's part of a root (e.g. "C:")
- Converts to lowercase
What it doesn't do:
- Fully qualify a non-rooted filename (e.g. "dir\filename.ext")
- Simplify relative pathnames (e.g. "C:\dir..\FileInDriveRoot.ext"). It's tempting to use Path.GetFullPathName to perform this function, but that would entail an expensive trip to the disk or network.
- Verify that the path exists.
public:
static System::String ^ Normalize(System::String ^ path);
public:
static Platform::String ^ Normalize(Platform::String ^ path);
static std::wstring Normalize(std::wstring const & path);
public static string Normalize (string path);
static member Normalize : string -> string
Public Function Normalize (path As String) As String
Parameters
- path
- String
Path to normalize
Returns
Normalized from of path
Remarks
What it does:
Takes pains not to allocate extra temporary strings
Verifies that the path contains no invalid path characters, throwing an exception if any invalid characters are found
Strips leading and trailing whitespace
Replaces "/" with "\"
Replaces multiple consecutive "\" with a single "\", except for the leading "\\" of a UNC path
Removes the trailing "\", unless it's part of a root (e.g. "C:\")
Converts to lowercase
What it doesn't do:
Fully qualify a non-rooted filename (e.g. "dir\filename.ext")
Simplify relative pathnames (e.g. "C:\dir\..\FileInDriveRoot.ext"). It's tempting to use Path.GetFullPathName to perform this function, but that would entail an expensive trip to the disk or network.
Verify that the path exists.