2016-11-29 66 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