你能解释一下有什么区别吗
$attachment = [String]::Concat($workingDir,"\", $fileName)
和
$attachment = [IO.Path]::Combine($workingDir, $fileName)
何时在 Powershell 中组合路径?
你能解释一下有什么区别吗
$attachment = [String]::Concat($workingDir,"\", $fileName)
和
$attachment = [IO.Path]::Combine($workingDir, $fileName)
何时在 Powershell 中组合路径?
考虑$workingDir
有一个尾部反斜杠并且$fileName
有一个前导反斜杠的情况,例如:
$workingDir = "C:\foo\"
$fileName = "\bar.txt"
这 2 个命令将产生以下结果:
PS C:\> [String]::Concat($workingDir, "\", $fileName) C:\foo\\\bar.txt PS C:\> [IO.Path]::Combine($workingDir, $fileName) \bar.txt
在 PowerShell 中最好使用Join-Path
:
PS C:\>加入路径 $workingDir $fileName C:\foo\bar.txt
该Path.Combine
方法在语义上知道文件夹路径。例如,如果$workingDir
是,"c:\"
那么String.Concat
样本将生成带有两个相邻反斜杠的路径。