以下是我的 CSV 文件中的一些示例行。

"ComputerName","Name","Publisher","InstallDate","EstimatedSize","Version","Wow6432Node"
"pcnumber1","Service Pack 1 for Microsoft Office 2013 (KB2850036) 32-Bit Edition","Microsoft P",,"0",,"True"
"pcnumber1","CCleaner","Piriform",,"0","5.01",

原始脚本从指定的计算机中提取有关已安装软件的大量信息,并将其输出为 CSV 格式。 我想获取该 CSV 文件并删除所有包含“Microsoft P”的行。 我已经找到了如何从字符串中删除特定单词、如何查找和替换等。但是我很难找到这个特定的函数。

#1楼 票数:9 已采纳

您可以使用 Where-Object 导入、选择所有不包含“Microsoft P”的元素,然后导出:

Import-Csv test.csv | where {$_.Publisher -ne "Microsoft P"} | Export-Csv New.csv -notypeinfo

#2楼 票数:2

您可以按照 Mark FINDSTR建议使用FINDSTR 只需指出它是带有/C的文字搜索字符串。

FINDSTR /V /C:"Microsoft P" SomeFile.CSV > NewFile.CSV

#3楼 票数:2

或者,如果您需要 PowerShell 解决方案,您可以忽略它是 CSV 的事实,而将其视为文本文件。 那么你可以:

Get-Content C:\Path\To\File.csv | Where{$_ -notmatch "Microsoft P"} | Out-File C:\Path\To\NewFile.csv

#4楼 票数:0

您可以使用多个字符串

FINDSTR /V /C:"Microsoft P" /C:"Linux R" /C:"Whatever W" SomeFile.CSV > NewFile.CSV

  ask by MisterPuggles translate from so

未解决问题?本站智能推荐:

5回复

使用powershell删除.csv文件中的最后一行

我目前需要一个自动化脚本的解决方案。 作为进程的一部分,它从源获取文件,并且必须删除.csv中的最后一行并将其再次保存为csv文件(不知道为什么必须这样做,因为文件已经作为.csv,但没有它 - 它错了)。 问题是我似乎无法弄清楚如何删除最后一行。 我想出了一些解决方案,但大多数只能处理.
3回复

如何使用PowerShell过滤特定单词

我试图弄清楚谁从2008打印服务器进行打印。 我从服务器管理器生成了一个日志文件,现在将此信息保存在一个csv文件中。 我的目标是解析此信息并将其导出到新的csv中,以找出仅包含在csv日志文件中的所有关联user ID , computer host name和printer name ,
1回复

如何使用PowerShell基于包含CSV文件中同一行中的多个值的单个单元格将一行分成多行

我试图使用PowerShell遍历CSV文件的每一行,以根据分隔符(;)将行中的特定单元格分成多行。 我的数据看起来像这样: 我需要输出看起来像这样: 最后,最后,我需要将此文件导出到新的CSV文件。 任何帮助将不胜感激。 我已经研究了几个小时,在寻找如何做到这一点的资源方面遇到了
1回复

使用PowerShell脚本删除CSV文件的列和最后一行

我有一个CSV文件,如下所示,但删除了ID,例如第1列和第4列,并删除了最后一行,并删除了语音标记,然后将新文件导出到UNC路径。 我也希望脚本也尽可能从UNC路径运行。 添加_new后,新文件名可以与原始文件名相同吗? 当前文件(file.txt): 预期的最终结果(file_ne
2回复

Powershell从CSV中删除包含字符串的行

我有一个需要删除行的CSV文件,这是我的示例 我需要删除“重复了最后一条消息”的行。 我没有运气尝试过。 有什么帮助吗?
2回复

需要使用Powershell从CSV中的行中删除特定部分

我有一个具有两列和多行的csv文件,其中包含具有文件夹位置及其相应大小的文件的信息,如下所示 我想要做的是从csv中的每一行中删除“ C:\\ MSSQL \\ DATA \\”部分,并从UsersData开始将所有文件夹数据保留下来,并保留所有其他数据,因为此信息是重复的。 所以我的cs
2回复

如何使用Powershell从.Csv文件中获取一行信息?

Powershell脚本: 该脚本显示每一行的名称,属性和位置的所有数据。 我希望结果仅显示一行的数据;例如,行:n1; 13; computer Cvs文件= 当前脚本吐出的内容:
2回复

使用PowerShell为CSV中的每一行添加内容

我正在创建一个简单的脚本来从用户的文件路径中提取 chrome 扩展名,在 chrome 应用商店中搜索扩展名,然后将其输入到 csv 中: 这样做工作正常,但将结果附加到表的底部而不是在它的相邻列中,如下所示: 我将如何简单地将输出放入旁边的字段中,而不是添加到底部? 任何帮助将不胜感激,并提前