Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

Can you explain what is the difference between

$attachment = [String]::Concat($workingDir,"", $fileName)

and

$attachment = [IO.Path]::Combine($workingDir, $fileName)

when it comes to combining paths in Powershell?

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
370 views
Welcome To Ask or Share your Answers For Others

1 Answer

Consider a situation where $workingDir has a trailing backslash and $fileName has a leading one, e.g.:

$workingDir = "C:foo"
$fileName   = "ar.txt"

The 2 commands will produce the following results:

PS C:> [String]::Concat($workingDir, "", $fileName)
C:foo\ar.txt
PS C:> [IO.Path]::Combine($workingDir, $fileName)
ar.txt

In PowerShell it's better to use Join-Path:

PS C:> Join-Path $workingDir $fileName
C:fooar.txt

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...