我正在开发一个应该删除命名列的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文件中的标题.
我的PowerShell CSV工具有一个奇怪的问题.我试着写一个小的支票,过滤掉某些名字和字符.这些名称/字符在这样的文本文件中:
XXX nana YYY ... DDD
我做的检查是这样的:
$reader = [System.IO.File]::OpenText($fc_file.Text)
try {
for() {
$line = $reader.ReadLine()
if ($line -eq $null) { break }
# process the line
Import-Csv $tempfile -Delimiter $delimeter -Encoding $char |
where {$_.$fc_suchfeld -notmatch $line} |
Export-Csv $tempstorage -Delimiter $delimeter -Encoding $char -NoTypeInfo
Run Code Online (Sandbox Code Playgroud)
它工作得很好,直到3点的线.此时几乎所有行都被删除.我怎么解决这个问题?