2つの文字列をファイルパスに結合する場合は、次のJoin-Path
ように使用します。
$path = Join-Path C: "Program Files"
Write-Host $path
それは印刷し"C:\Program Files"
ます。2つ以上の文字列に対してこれを実行したい場合:
$path = Join-Path C: "Program Files" "Microsoft Office"
Write-Host $path
PowerShellはエラーをスローします。
Join-Path:引数 'Microsoft Office'を受け入れる定位置パラメーターが見つかりません。
D:\ users \ ma \ my_script.ps1:1でchar:18
+ $ path = join-path <<<< C: "Program Files" "Microsoft Office"
+ CategoryInfo:InvalidArgument:(:) [Join-Path] 、ParameterBindingException
+ FullyQualifiedErrorId:PositionalParameterNotFound、Microsoft.PowerShell
.Commands.JoinPathCommand
文字列配列を使用してみました:
[string[]] $pieces = "C:", "Program Files", "Microsoft Office"
$path = Join-Path $pieces
Write-Host $path
しかし、PowerShellは(-childpath
引数を指定しなかったため)たとえば「somepath」などの子パスを入力するように求め、次に3つのファイルパスを作成します。
C:\somepath
Program Files\somepath
Microsoft Office\somepath
どちらでもありません。