如何从powershell

时间:2015-10-29 13:57:11

标签: powershell

我是西班牙人,对不起我的语言。首先,我想说这个页面对我有多大帮助,并感谢所有成员。 我想问一个问题: 我将CSV导出到$ x,然后在他的第一个单元格中输出CSV内容: “一个”,“两个”,“三个”csv的床头板是“aaa”;“bbb” 分开的是“;”

-Code:
     $x = Import-Csv c:\test.csv -Delimiter ';'
     $x
     aaa                                      bbb
     -------                                  -------   
     "one","two","three"                      ttttt

现在将第一个单元格加载到另一个变量

-Code:
  $y = $x[0].aaa
  $y
  "one","two","three"

这个想法是新变量“$ y”包含一个值类型数组,但它不起作用。

任何人都知道怎么可能做那样的事情?

此致

3 个答案:

答案 0 :(得分:1)

beatcracker有正确的答案。

只是为了给出另一个例子,你也可以使用Trim()

清理引号
$x[0].aaa.Split(",") | ForEach-Object {$_.Trim('"')}

答案 1 :(得分:0)

从CSV "one","two","three"导入时是文字字符串,而不是数组。你必须自己分开。

示例,按,拆分并删除双引号:

$x[0].aaa -split ',' | ForEach-Object {$_ -replace '"',''}

$x[0].aaa.Split(',') | ForEach-Object {$_ -replace '"',''}

参考:

答案 2 :(得分:0)

怎么样......

$y = @((Import-Csv c:\test.csv -Delimiter ';').aaa)
#  or
$x = Import-Csv c:\test.csv -Delimiter ';'
$y = @($x.aaa)

要检查类型,请执行此操作...

($y.GetType()).BaseType.Name 

Get-Member不适用于数组,它会显示数组项的类型。在当前情况下,它将返回[string]。

$y | Get-Member  # WRONG !!!