你能解释一下有什么区别吗
$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样本将生成带有两个相邻反斜杠的路径。