2017-02-08 26 views
0

ファイルパスを生成するために、powershellで文字列を組み合わせようとしています。ときに私はファイルパスにスペースがあるWrite-Host私は基礎を勉強し、一緒にこの構文Powershellスペースを追加する

$fileDirectory = "C:\Pics\" 

foreach ($file in Get-ChildItem $fileDirectory){ 
    #Setting parent dir to check 
    $ParentDir = "E:\Main Folder\" 

    #setting param to split 
    $parts =$file.Name -split '\.' 

    #capturing variables 
    $PictureYear = $parts[0].Trim() 
    $PictureMonth = $parts[1].substring(0,3) 

    #Writing To window to confirm variables are accurate 
    Write-Host $PictureYear 
    Write-Host $PictureMonth 

    #checking if folders exist 
    Write-Host $($ParentDir)$($PictureYear)\ 
} 

を入れている。しかし。出力は

E:\Main Folder\ 2016 \ 

どのようにスペースを削除できますか? Trim()演算子を使用しようとしましたが、スペースはまだ存在します。あなたのバブルを破裂することはない

+0

が参加し、パスと分割経路を調べてください。 –

+0

@KoryGill - 正しい方向を指してくれてありがとう! – BellHopByDayAmetuerCoderByNigh

答えて

1

が、パスを結合するコマンドレットと.NETメソッドがすでにあります:

Join-Path -Path $ParentDir -ChildPath $PictureYear 
$ParentDir | Join-Path -ChildPath $PictureYear | Join-Path -ChildPath $PictureMonth 

[System.IO.Path]::Combine($ParentDir, $PictureYear, $PictureMonth) 

$parts = @($ParentDir) + $parts # array of all components  
[System.IO.Path]::Combine([string[]]$parts) 
+0

気泡はまったく爆発しません!これは優れた素晴らしい例です。 – BellHopByDayAmetuerCoderByNigh

関連する問題