2016-11-29 16 views
0

単純なスクリプトを使用して.csvファイルからワークステーション名を取得し、そのワークステーション上のフォルダの場所を開きます。私は、PowerShellにファイルパスを分割させないようにする方法について問題を抱えています。これまで私が試してみました:ファイルパス内のスペース

単一引用符を:'\\$results\c$\direc\Desktop\Start Menu\Programs\Startup'

正規引用:"\\$results\c$\direc\Desktop\Start Menu\Programs\Startup"

二重引用符:""\\$results\c$\direc\Desktop\Start Menu\Programs\Startup""

バッククォートスペースの前に:"\\$results\c$\direc\Desktop\Start` Menu\Programs\Startup"

8.3名:"\\$results\c$\direc\Deskto~1\StartM~1\Progra~1\Startu~1"

ここに私のコードです:

$inputFile = "C:\Users\$env:username\Desktop\workstations.csv" 
$results = @() 
Import-CSV -Path $inputFile -Header Workstations | % { 
    Invoke-Item -Path "\\$results\c$\JHMCIS\Desktop\Start Menu\Programs\Startup" 
} 

すべては、ファイルパスを読み取るまで完全に機能します。次に、パスが存在しないことを示すエラーを返します。

答えて

2

文字列の書式設定は問題ありません。問題は、$resultsという名前の空の配列を作成し、呼び出しを行うときに文字列に追加することです。上記、ファイルが何の見出しや、あなたのImport-CSV

+0

神に-headerのparamを使用しての名前を定義しているだけで、単一の列を持っていないことを前提としていることを

% {Invoke-Item -Path "\\$($_.Workstations)\c$\JHMCIS\Desktop\Start Menu\Programs\Startup"}

注意にあなたの最後の行を変更するI彼はそこに空の変数を使用していた気づいていないxD – 4c74356b41

+0

パーフェクト、ありがとうございます。私は配列がファイルからワークステーション名を引き出すのに必要であると思った。 – Ozar

関連する問題