如何在 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})。
广告