PowerShell:如何检查文件是否包含特定字符串
您可以在 PowerShell 中使用以下基本语法来检查文件是否包含特定字符串:
if (Select-String -Path c:\docs\my_data.csv -Pattern "this" -SimpleMatch -Quiet)
{
echo "String Exists in File"
}
else
{
echo "String Does Not Exist in File"
}
此特定示例检查名为 my_data.csv 的文件是否在文件中的任何位置包含字符串“this”。
如果文件包含“this”,则返回文件中存在字符串。
如果文件不包含“this”,则返回文件中不存在字符串。
以下示例展示了如何在实践中使用此语法。
示例:如何在 PowerShell 中检查文件是否包含特定字符串
假设我们有以下名为 basketball_data.csv 的 CSV 文件,其中包含有关各个篮球运动员的得分、助攻和篮板数的信息:
假设该文件保存在以下位置:
c:\users\bobbi\basketball_data.csv假设我们想检查文件中的任何位置是否存在字符串“rebounds”。
我们可以使用以下语法来执行此操作:
if (Select-String -Path c:\users\bobbi\basketball_data.csv -Pattern "rebounds" -SimpleMatch -Quiet)
{
echo "String Exists in File"
}
else
{
echo "String Does Not Exist in File"
}以下屏幕截图显示了如何在实践中使用此语法:
PowerShell 返回文件中存在字符串,因为 CSV 文件中确实存在字符串“rebounds”。
假设我们搜索文件中不存在的字符串“steals”:
if (Select-String -Path c:\users\bobbi\basketball_data.csv -Pattern "steals" -SimpleMatch -Quiet)
{
echo "String Exists in File"
}
else
{
echo "String Does Not Exist in File"
}以下屏幕截图显示了如何在实践中使用此语法:
PowerShell 返回文件中不存在字符串,因为 CSV 文件中不存在字符串“steals”。
注意:我们使用-Quiet运算符来指定一旦检测到感兴趣的字符串第一次出现就应停止搜索文件。这加快了这个过程。


