2016-11-29 69 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的空數組,然後在您執行調用時將其添加到字符串中。你的最後一行改爲

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

注意的是,上述假設文件沒有標題,只有正在定義使用您Import-CSV

+0

-header參數的時名稱單列,我甚至沒有注意到他在那裏使用空變量xD – 4c74356b41

+0

完美,非常感謝。我認爲這個數組需要將工作站名稱從文件中提取出來。 – Ozar