Get-ChildItem trong PowerShell

by Khánh Linh

14/09/2021, 8:49 AM   |    14/09/2021, 8:49 AM   |    1.3K   |    0

Get-ChildItem xem danh sách các thư mục, các tệp con của đường dẫn được chỉ định.


Ví dụ: Hiển thị các thư mục, tệp con trong đường dẫn C:\Test
 
Get-ChildItem -Path C:\Test

Directory: C:\Test

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/15/2019     08:29                Logs
-a----        2/13/2019     08:55             26 anotherfile.txt
-a----        2/12/2019     15:40         118014 Command.txt
-a----         2/1/2019     08:43            183 CreateTestFile.ps1
-ar---        2/12/2019     14:31             27 ReadOnlyFile.txt


- Trong cột Mode có một số ký hiệu khác nhau để phân biệt các loại tệp như sau:
l (link)
d (directory)
a (archive)
r (read-only)
h (hidden)
s (system).



Ví dụ 2: Nếu chỉ muốn lấy tên, bạn sử dụng thuộc tính -Name
 
Get-ChildItem -Path C:\Test -Name

Logs
anotherfile.txt
Command.txt
CreateTestFile.ps1
ReadOnlyFile.txt



Ví dụ 3: Hiển thị danh sách các tệp, thư mục và cả các thư mục con của nó
 
Get-ChildItem -Path "C:\demo" -Recurse -Force

PS C:\WINDOWS\system32> Get-ChildItem -Path "C:\demo" -Recurse -Force


    Directory: C:\demo


Mode                LastWriteTime         Length Name                                                        
----                -------------         ------ ----                                                        
d-----        1/29/2020   9:57 AM                New folder                                                  
d-----        1/22/2020   3:37 PM                tháng 1                                                     
-a----        1/22/2020   9:32 AM              0 DateTimeFile1.txt                                           
-a----        1/22/2020   9:32 AM              0 DateTimeFile2.txt                                           
-a----        1/28/2020   3:36 PM             11 File.txt                                                    
-a----        1/22/2020   9:32 AM              0 Hello.txt                                                   
-a----        1/22/2020   9:32 AM              0 IsReadOnlyTextFile.txt                                      
-a----        1/22/2020   8:47 AM              0 New Microsoft Word Document.docx                            
-a----        1/22/2020   9:32 AM             11 New Text Document.log                                       
-a-h--        1/22/2020   9:32 AM              0 NewFile.txt                                                 
-a----        1/22/2020   9:37 AM              0 test1.txt                                                   
-a----        1/22/2020   9:32 AM              0 test2.txt                                                   


    Directory: C:\demo\tháng 1


Mode                LastWriteTime         Length Name                                                        
----                -------------         ------ ----                                                        
-a----        1/22/2020   8:08 AM             44 File.txt                                                    
-a----        1/22/2020   9:32 AM              0 Hello.txt      
                                            


- Ở ví dụ trên, trong thư mục demo có một thư mục tháng 1 có chứa các tệp tin sẽ được hiển thị ở Directory,
thư mục New folder không có dữ liệu sẽ không được hiển thị ở Directory.
- Recurce là thuộc tính giúp hiển thị danh sách các thư mục con.
- Force sẽ giúp hiển thị cả các tệp bị ẩn, các tệp đó có kí hiệu mode là -a-h


VÍ DỤ 4: Sử dung Include để lấy loại tệp mong muốn
Để lấy đúng loại tệp mong muốn, sử dung include:
 
Get-ChildItem -Path "C:\demo\*" -Include *.txt


Chú ý: khi sử dụng include, dấu * trong đường dẫn Path là cần thiết, nếu không sẽ không trả về kết quả.


Ví dụ 5: Sử dụng Exclude để loại trừ các tệp
Get-ChildItem -Path C:\Test\Logs

Directory: C:\Test\Logs

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/15/2019     13:21                Adirectory
d-----        2/15/2019     08:28                AnEmptyDirectory
d-----        2/15/2019     13:21                Backup
-a----        2/12/2019     16:16             20 Afile.txt
-a----        2/13/2019     13:26             20 LogFile1.txt
-a----        2/12/2019     16:24             23 systemlog1.log

Get-ChildItem -Path C:\Test\Logs\* -Exclude A*

Directory: C:\Test\Logs

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        2/15/2019     13:21                Backup
-a----        2/13/2019     13:26             20 LogFile1.txt
-a----        2/12/2019     16:24             23 systemlog1.log


Với Exclude có thể chỉ định tên bắt đầu A* hoặc các định dạng tệp như .txt