如何在 PowerShell 中控制 Get-ChildItem 中的递归?


当将–Depth 参数与 Get-ChildItem 一起使用时,它将控制显示子文件夹及其内容的递归。例如,如果将 –Depth 参数设置为 1,则它将仅显示父文件夹和直接子文件夹的内容,而不会显示子文件夹中的子文件夹。

命令

在您指定 –Depth 参数后,无需添加 –Recursion 参数。它将自动设置深度级别。

Get-ChildItem D:\Temp\ -Depth 1

输出

PS C:\WINDOWS\system32> Get-ChildItem D:\Temp\ -Depth 1
    Directory: D:\Temp
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       13-12-2019     09:52                GPO_backup
d-----       24-11-2018     11:31                LGPO
-a----       07-05-2018     23:00            301 cars.xml
-a----       29-12-2017     15:16           4526 healthcheck.html
-a----       29-12-2017     15:16           4526 healthcheck1.html
-a----       08-12-2017     10:24          48362 servicereport.html
-a----       08-12-2017     10:24          48362 servicereport1.html
-a----       08-12-2017     10:16            393 style.css
-a----       08-12-2017     11:29           7974 Test.xlsx
-a----       25-10-2017     08:13            104 testcsv.csv
-a----       12-12-2017     23:04           1034 testhtmoutput.html
    Directory: D:\Temp\GPO_backup
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       24-11-2018     11:34                {C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9}
    Directory: D:\Temp\LGPO
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       01-06-2017     03:22         410088 LGPO.exe
-a----       01-06-2017     02:25         638115 LGPO.pdf

在以上示例中,-Depth 值被设置为 1,因此它仅显示其子文件夹(D:\Temp\LGPO、D:\Temp\GPO_Backup)及其内容。

在您将 –Depth 值设置为 2 后,输出将会是:

输出

Directory: D:\Temp\GPO_backup
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       24-11-2018     11:34                {C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9}
    Directory: D:\Temp\GPO_backup\{C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9}
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       24-11-2018     11:34                DomainSysvol
-a----       24-11-2018     11:34           6215 Backup.xml
-a----       24-11-2018     11:34            602 Bkupinfo.xml
    Directory: D:\Temp\LGPO
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       01-06-2017     03:22         410088 LGPO.exe
-a----       01-06-2017     02:25         638115 LGPO.pdf

正如您在以上示例中看到的,它会添加额外的级别 (D:\Temp\GPO_backup\{C9C3DB4C-2E51-4201-B3C3-7C0F1ACECBE9})

更新于:2020 年 1 月 23 日

超过 1 千次浏览

开启您的 职业

通过完成课程获得认证

开始吧
广告