如何在powershell中添加引号和逗号

如何在powershell中添加引号和逗号,powershell,csv,powershell-2.0,powershell-3.0,comma,Powershell,Csv,Powershell 2.0,Powershell 3.0,Comma,我有一个CSV文件,其中我只需要一列名为“SerialNumber”,我需要合并文本行,删除任何空格,在引号中添加每一行,并用逗号分隔 到目前为止,我有很多代码可以工作,但它在末尾添加引号,而在开头不添加引号 $SerialList = import-csv .\log.csv | select -ExpandProperty Serialnumber | Out-File -FilePath .\Process.txt (gc process.txt) | ? {$_.trim() -ne "

我有一个CSV文件,其中我只需要一列名为“SerialNumber”,我需要合并文本行,删除任何空格,在引号中添加每一行,并用逗号分隔

到目前为止,我有很多代码可以工作,但它在末尾添加引号,而在开头不添加引号

$SerialList = import-csv .\log.csv | select -ExpandProperty Serialnumber | Out-File -FilePath .\Process.txt
(gc process.txt) | ? {$_.trim() -ne "" } | set-content process.txt
gc .\process.txt | %{$_ -replace '$','","'} | out-file process1.csv
Get-Content .\process1.csv| foreach {
$out = $out + $_
}
$out| Out-File .\file2.txt
输出:

序列号

1234

1234

4567

4567

预期输出:

“1234”、“1234”、“4567”、“4567”

请尝试以下操作(PSv3+):

  • (导入Csv.\log.Csv).SerialNumber
    导入Csv文件,并使用
    .SerialNumber
    SerialNumber
    列值提取为数组

  • -替换“^.*$”,“$&”
    将每个数组元素封装在
    “…”

    • ^.*$
      完全匹配每个数组元素
    • 替换表达式
      “$&”
      将元素替换为
      字符中包含的匹配(
      $&
      )元素。-有关背景信息,请参阅
  • -join“,”
    将结果数组元素与
    作为分隔符连接起来

(Import-Csv .\log.csv).SerialNumber -replace '^.*$', '"$&"' -join "," > .\file2.txt