PowerShell で複数のファイル内の文字列を検索してファイル名を返す

Rohan Timalsina 2023年1月30日
  1. PowerShell で Get-ChildItem および Select-String コマンドレットを使用して複数のファイルの文字列を検索し、ファイルの名前を返す
  2. 複数のファイルの文字列を検索し、PowerShell で lssls を使用してファイルの名前を返す
PowerShell で複数のファイル内の文字列を検索してファイル名を返す

PowerShell を使用して、特定のディレクトリに存在するファイルを表示できます。また、ファイルを再帰的に検索して、サブディレクトリに存在するファイルを見つけることもできます。

しかし、ファイル内の文字列を検索して、PowerShell でそれらのファイルの名前を取得することは可能ですか?答えはイエスです。このチュートリアルでは、複数のファイルで文字列を検索し、PowerShell でファイルの名前を返す方法を説明します。

PowerShell で Get-ChildItem および Select-String コマンドレットを使用して複数のファイルの文字列を検索し、ファイルの名前を返す

Get-ChildItem コマンドレットは、特定の場所に存在するファイルとディレクトリのリストを表示します。-Recurse パラメータは、すべてのファイル、ディレクトリ、またはサブディレクトリを再帰的に一覧表示するのに役立ちます。ただし、出力には空のディレクトリは表示されません。

Select-String コマンドレットは、ファイル内の文字列パターンを検索して検索します。

次のコマンドは、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 で lssls を使用してファイルの名前を返す

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 コマンドレットのエイリアスです。また、ファイル内の文字列パターンを検索します。

以下のコマンドを使用して、複数のファイル内の文字列を検索し、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
著者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

関連記事 - PowerShell String