Skip to main content

Safely Build File Paths Out of Their Components

Problem

You want to build a new path out of a combination of subpaths.

Solution

To join elements of a path together, use the JoinPath cmdlet:

PS >JoinPath (GetLocation) newfile.txt C:\temp\newfile.txt

Discussion

The usual way to create new paths is by combining strings for each component, placing a path separator between them:

PS >"$(GetLocation)\newfile.txt" C:\temp\newfile.txt

Unfortunately, this approach suffers from a handful of problems:

  • What if the directory returned by GetLocation already has a slash at the end?
  • What if the path contains forward slashes instead of backslashes?
  • What if we are talking about registry paths instead of filesystem paths? Fortunately, the JoinPath cmdlet resolves these issues and more. For more information about the JoinPath cmdlet, type GetHelp JoinPath.

If you need dedicated infrastructure for Windows applications, consider a Dedicated Server Germany for greater control over PowerShell scripting, file management, system configuration, and server resources.

Help Category