windows - 如何使用 PowerShell 导入 CSV 文件并从文本文件中读取一行?

标签 windows powershell powershell-2.0

我有一些 PowerShell Cmdlet 的输出,如下所示

  0    server-1 Content  Damaged       client 12/06/2013 08:00:41
123    server-1 Content  Damaged       client 12/07/2013 08:00:33
  0    server-1 Content  Damaged       client 12/08/2013 08:00:32
234    server-1 Content  Damaged       client 12/09/2013 08:00:34
  0    server-1 Content  Damaged       client 12/09/2013 16:09:41
 70    server-1 Content  Damaged       client 12/10/2013 08:00:33
  0    server-1 Content  Damaged       client 12/11/2013 08:00:31

我可以将上面的输出附加到一个文本文件中。

当我尝试在新的 CSV 文件中导入以上输出时(使用 Import-Csv),所有信息都在每行中的一个单元格下,但我每行需要 7 个单元格! !!请有人在这里指导我。

另外请告诉我,如何使用 PowerShell 计算从 0 开始的行?

最佳答案

Import-CSV 默认情况下假定每条数据记录(或行)由逗号分隔(因此名称为逗号 分隔值)。如果您有其他东西始终用作​​字段之间的分隔符(例如制表符或空格),则可以使用 cmdlet 的 -Delimiter 参数来指定它并使其正确解析。

但是,Import-CSV 还假设您有一个标题记录,而您没有。因此,您需要改为使用 Get-Content 来解析您的数据,或者添加 header 记录(最好)。

将数据解析为对象集合(或者实际上是集合的集合)后,只需查看每个对象中的第一个值,看看它是否等于 0。

关于windows - 如何使用 PowerShell 导入 CSV 文件并从文本文件中读取一行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20518823/

相关文章:

java - 从 Java 打开命令提示符

powershell - 导出到excel的脚本

windows - 如何使用 Get-Service 命令获取 Windows 服务的物理路径

c++ - Resource.rc 文件中返回多个资源

java - 从驱动器号获取分区名称,反之亦然

python - 当我更改图标时,Pyinstaller exe 不工作

powershell - 使用EWS检查未读的交换邮件数

multithreading - 如何保证对象在 Powershell 中实例化的顺序?

powershell - Powershell Write-host将变量中的参数输出为字符串

powershell - 从AD获取SamAccountName