在 PowerShell 中在多个文件中搜索字符串并返回文件名
你可以使用 PowerShell 查看特定目录中存在的文件。它还允许你递归搜索文件以查找子目录中存在的文件。
但是是否可以在文件中搜索字符串并在 PowerShell 中获取这些文件的名称?答案是肯定的。本教程将教你在多个文件中搜索字符串并在 PowerShell 中返回文件名。
在 PowerShell 中使用 Get-ChildItem
和 Select-String
Cmdlet 在多个文件中搜索字符串并返回文件名
Get-ChildItem
cmdlet 显示特定位置中存在的文件和目录的列表。 -Recurse
参数有助于递归地列出所有文件、目录或子目录。但它不会在输出中显示空目录。
Select-String
cmdlet 在文件中搜索和查找字符串模式。
以下命令将在 C:\pc
目录的所有文件中搜索字符串 system
并列出文件的完整路径。
Get-ChildItem -Path C:\New -Recurse | Select-String -Pattern 'system' -List | Select Path
输出:
Path
----
C:\New\literature_review.pdf
C:\New\Proposal.pdf
C:\New\Draft.pdf
C:\New\Report.docx
C:\New\fyp\Forms.docx
如果你在命令中包含 Line
,你还可以显示包含字符串的行。
Get-ChildItem -Path C:\New -Recurse | Select-String "system" -List | Select Path,Line
在 PowerShell 中使用 ls
和 sls
在多个文件中搜索字符串并返回文件名
ls
命令在列出 Unix 和类 Unix 操作系统中的文件和目录时很流行。ls
命令也可在 PowerShell 中使用,并且功能类似。
如果未指定路径,它将列出工作目录中存在的文件和目录。使用 -r
选项,ls
递归地列出文件和目录。
ls C:\pc
输出:
Directory: C:\pc
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 1/2/2022 2:53 PM computing
d----- 1/2/2022 1:24 PM New folder
-a---- 1/2/2022 1:36 PM 17384 hello
-a---- 1/2/2022 2:48 PM 5134 matrix.c
-a---- 12/26/2020 7:03 PM 321 ReadMe.txt
sls
是 Select-String
cmdlet 的别名。它还在文件中搜索字符串模式。
你可以使用以下命令在多个文件中搜索字符串并在 PowerShell 中获取文件名。
ls -r -Path C:\pc | sls 'hello' | select -u Path
输出:
Path
----
C:\pc\computing\task3\crack
C:\pc\computing\task3\crack1
C:\pc\computing\task3\crack2
C:\pc\computing\task3\cracked
C:\pc\computing\task3\pass
C:\pc\computing\task3\password.txt
C:\pc\computing\task3\pwd
C:\pc\computing\task4\hello
相关文章
在 PowerShell 中管理服务
发布时间:2024/02/08 浏览次数:116 分类:编程语言
-
本文将讨论 PowerShell 服务 cmdlet、如何使用它们,并开发我们的脚本以在本地或远程管理多台计算机上的服务。
使用 PowerShell 获取 Windows 服务的启动类型
发布时间:2024/02/08 浏览次数:127 分类:编程语言
-
本教程将教你使用 PowerShell 获取启动类型的 Windows 服务。
PowerShell 中的属性 Property 与 ExpandProperty
发布时间:2024/02/08 浏览次数:198 分类:编程语言
-
本文将讨论什么是属性并将它们与扩展属性区分开来。Windows PowerShell 主要集中在显示和生成对象。这些对象由称为属性的特定细节支持。
PowerShell 中的 ExecutionPolicy Bypass 和 Unrestricted
发布时间:2024/02/08 浏览次数:137 分类:编程语言
-
提供了 PowerShell 执行策略作为安全措施。Bypass 和 Unrestricted 是两个重要的策略,可用于跳过几乎所有的安全检查并运行任何脚本。
使用 PowerShell 将文件从 Windows 复制到 Linux
发布时间:2024/02/08 浏览次数:125 分类:编程语言
-
本教程将教你使用 PowerShell 将文件从 Windows 复制到 Linux。
脚本执行后保持 PowerShell 控制台打开
发布时间:2024/02/08 浏览次数:111 分类:编程语言
-
本文将讨论多种解决方案,这些解决方案将使你的 PowerShell 控制台在脚本执行后保持打开状态,包括 NoExit 参数。