我使用以下comlet来获取数据:
import-csv .\ConnectionStrings.txt -Delimiter "`t" -Header Firms, URLs, Config, Type | format-table -Property Firms, URLs -HideTableHeaders -outvariable content
#Not working part
for($i = 0; $i -lt $content.Count; $i++){
$url = $content[$i][1]
$instance = $url.SubString(0, $url.IndexOf(".") - 1)
}
及以下是import-csv ... cmdlet:
的结果value1 url1.test.com
value2 url2.test.com
value3 urle3.test.com
...
valuen urln.test.com
我使用getType检查$ content,它是ArrayList。我以为我可以将它用作C#ArrayList,因为我需要解析第二列以获取url部分。 但不行。目前我认为我处在一个死胡同,不知道我可以去哪里......
答案 0 :(得分:1)
format-table
用于将对象显示为文本表。但是你想要访问import-csv
给你的对象的内部。所以你不想要format-table
。$content
是import-csv
已构建的对象的ArrayList,而不是ArrayLists或数组的ArrayList。您已使用import-csv
选项告诉-Header
要构建哪种对象,所以只需使用它。进行相关更改后,我收到了以下代码:
$content = import-csv .\ConnectionStrings.txt -Delimiter "`t" -Header Firms, URLs, Config, Type
for($i = 0; $i -lt $content.Count; $i++){
$url = $content[$i].URLs
$instance = $url.SubString(0, $url.IndexOf("."))
Write-Host $instance
}
这给出了这个输出:
url1
url2
urle3
urln
我认为这就是你要找的。 p>