2011-05-13 108 views
2

是否可以通过加载csv直接读取变量?直接从csv读取var

我的CSV看起来是这样的:

Var,Path 

$SrcHost,\\computer 

有自营CSV和把路径进入变种的可能性?

+0

你的意思是有一个名为变量'用“\\计算机var' “分配? – Simone 2011-05-13 13:30:22

+0

不可以。我希望稍后可以在脚本中使用$ ScrHost。 $ SrcHost应该有“\\ computer”分配。 – 2011-05-13 13:41:05

回答

3
import-csv test3.csv | foreach-object { 
iex "$($_.var) = ""$($_.path)""" 
} 
0

如何回合此:

Get-Content -Path test.csv | Select-Object -Skip 1 | ForEach-Object { $_.Replace(",", "=`"") + 
"`"" } | Invoke-Expression 
3

您还可以使用new-variablenv):

 
import-csv csvfile.csv | % { nv -name ($_.var) -value ($_.path) } 

然而,为了使这项工作,你必须:

  • 删除来自t的$他源CSV
  • ,如下
  • 所作的评论描述修剪$,选择变量${$srchost}
+0

+1我很喜欢这个简洁的答案。 – Simone 2011-05-13 14:01:39

+0

@Simone:谢谢! Ancorapiùapprezzabile da una connazionale ;-) – 2011-05-13 14:04:11

+1

他将不得不改变他的.csv文件才能工作。它不希望让变量名中包含$。如果你先把它修剪掉,它会起作用。 :nv -name($ _。var.trim(“$”))-value($ _。path) – mjolinor 2011-05-13 14:05:24