我正在开发一个应该删除命名列的PowerShell脚本.有没有办法不选择标题名为"xyz"的列?
我试图获取标题名称
$hnames = $csv | Get-Member -MemberType NoteProperty | foreach {$_.name}
Run Code Online (Sandbox Code Playgroud)
并将结果连接到逗号分隔的字符串并删除不需要的标头
$new = $hnames -join ","
$new = $new -replace "xyz,", ""
Run Code Online (Sandbox Code Playgroud)
并导入/导出CSV select
Import-CSV $tempfile -Delimiter ";" | Select $new |
Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -NoTypeInfo
Run Code Online (Sandbox Code Playgroud)
但它只输出CSV文件中的标题.
改为使用-ExcludeProperty参数Select-Object:
Import-Csv $tempfile -Delimiter ";" | Select * -ExcludeProperty xyz |
Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -notypeinfo
Run Code Online (Sandbox Code Playgroud)
您也可以只指定您希望包含的列,如下所示:
Import-Csv $tempfile -Delimiter ";" | Select Column1,Column2,Column10 | Export-Csv tempynew.csv -Delimiter ";" -Encoding UTF8 -notypeinfo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6173 次 |
| 最近记录: |