如何在PowerShell中使用Get-ChildItem过滤特定扩展?

要获得具有特定扩展名的get-childitem的输出,我们需要使用–include参数。

示例

在下面的示例中,我们将使用以下脚本仅获取.xml文件。

Get-ChildItem D:\Temp\ -Recurse -Include *.xml

输出结果

PS C:\WINDOWS\system32> Get-ChildItem D:\Temp\ -Recurse -Include *.xml
    Directory: D:\Temp\GPO_backup\{C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9}
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       24-11-2018     11:34           6215 Backup.xml
-a----       24-11-2018     11:34            602 Bkupinfo.xml
    Directory: D:\Temp
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       07-05-2018     23:00            301 cars.xml

您可以使用include参数过滤多个扩展名,为此,您需要在扩展名之间添加逗号(,)。

示例

例如,我们将在此处获得带有文件扩展名xml和csv的输出。

Get-ChildItem D:\Temp\ -Recurse -Include *.xml, *.csv

输出结果

PS C:\WINDOWS\system32> Get-ChildItem D:\Temp\ -Recurse -Include *.xml, *.csv
    Directory: D:\Temp\GPO_backup\{C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9}\DomainSysvol\GPO\Machine\microsoft\windows
    nt\Audit
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       24-11-2018     11:34           6234 audit.csv
    Directory: D:\Temp\GPO_backup\{C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9}
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       24-11-2018     11:34           6215 Backup.xml
-a----       24-11-2018     11:34            602 Bkupinfo.xml
    Directory: D:\Temp
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       07-05-2018     23:00            301 cars.xml
-a----       25-10-2017     08:13            104 testcsv.csv