Liệt kê các tệp trong một thư mục với PowerShell

List Files Directory With Powershell



PowerShell là một nền tảng viết kịch bản và tự động hóa mã nguồn mở, có sẵn miễn phí của Microsoft. Mục tiêu của nó là hỗ trợ người dùng tạo ra các công cụ và tập lệnh hiệu quả để giúp họ hoàn thành công việc hiệu quả hơn. Nhiều chức năng và lệnh hữu ích có sẵn trong PowerShell, được gọi là cmdlets . Các lệnh ghép ngắn này được sử dụng để thực hiện một thao tác cụ thể, chẳng hạn như ping một máy tính từ xa, đọc một tệp cụ thể, v.v.

Khi bạn muốn biết những tệp nào có trong hệ thống của mình, bạn chắc chắn cần phải liệt kê chúng. Nhiều người dùng có thể tin rằng khám phá các tệp trong Giao diện Người dùng Đồ họa (GUI) thuận tiện hơn nhiều so với việc làm rối với dòng lệnh hoặc PowerShell. Nhưng đó không phải là sự thật. Tệp danh sách là một hoạt động mà PowerShell thực hiện dễ dàng. Nếu bạn có bất kỳ vấn đề liệt kê các tệp trong một thư mục với PowerShell , thì bài viết này ở đây để giải cứu bạn! PowerShell sử dụng Get-ChildItem lệnh liệt kê các tệp có trong một thư mục. Hãy biết thêm về lệnh đáng khen ngợi này.







Get-ChildItem là gì?

Trong PowerShell, Get-ChildItem thực hiện chức năng tương tự như cho bạn trong dấu nhắc lệnh của Windows. Lệnh ghép ngắn này lấy dữ liệu từ một vị trí cụ thể. Nó cũng liệt kê các đối tượng hoặc mục từ một hoặc nhiều vị trí tệp được cung cấp. Các mục sẽ nhận được các mục con của chúng từ thùng chứa. Sổ đăng ký và Tệp được gọi là các mục con trong các thư mục con của PowerShell. Giống như dir / s , nếu bạn muốn truy xuất dữ liệu từ các vùng chứa con, bạn phải sử dụng -Recurse tham số.



Hệ thống tệp có thể là bất kỳ thứ gì từ kho lưu trữ chứng chỉ đến thư mục đường dẫn chia sẻ tổ chức đăng ký hoặc cục bộ. Khi bạn sử dụng Get-ChildItem trên một hệ thống, nó liệt kê các tệp, thư mục và thư mục con. Trong trường hợp khác, khi bạn sử dụng nó trên một thư mục, lệnh này trả về danh sách các tệp và thư mục con nằm dưới nó. Get-ChildItem không hiển thị các thư mục trống khi -Recurse hoặc -Chiều sâu các tùy chọn được sử dụng trong lệnh Get-ChildItem.



Các toán tử được sử dụng với lệnh Get-ChildItem trong PowerShell

Sau đây là các toán tử được sử dụng với lệnh ghép ngắn Get-ChildItem:





  • , Cho hoặc
  • + cho và
  • ! cho KHÔNG

Các thuộc tính của lệnh Get-ChildItem trong PowerShell

Dưới đây là một số thuộc tính của lệnh ghép ngắn Get-ChildItem, được sử dụng để liệt kê các tệp hoặc thư mục theo các thuộc tính được chỉ định.

  • liên kết ( NS )
  • hệ thống ( NS )
  • danh mục ( NS )
  • ẩn giấu ( NS )
  • chỉ đọc ( NS )
  • lưu trữ ( đến )

Hãy kiểm tra một số ví dụ về tệp danh sách trong PowerShell.



Ví dụ 1: Liệt kê các mục con trong một thư mục cụ thể bằng cách sử dụng tham số -Path

Nếu bạn muốn liệt kê các tệp và thư mục của một thư mục cụ thể, hãy sử dụng -Con đường tham số trong Get-ChildItem chỉ huy. Tùy chọn này sẽ giúp PowerShell liệt kê tất cả các mục con của thư mục được chỉ định. Các -Con đường tham số cũng được sử dụng để đặt đường dẫn của một hoặc nhiều vị trí của tệp. Nếu bạn không đề cập rõ ràng đến đường dẫn thư mục, thư mục làm việc hiện tại sẽ là vị trí mặc định.

Trong ví dụ cụ thể dưới đây, PowerShell sẽ liệt kê tất cả các tệp và thư mục con có trong E: vbox danh mục:

> Get-ChildItem -Con đườngE: vbox

Nếu bạn không thêm -Con đường tham số, Get-ChildItem cmdlet sẽ lấy tham số đầu tiên làm đường dẫn thư mục. Việc thực thi lệnh này sẽ hiển thị cho bạn cùng một kết quả:

> Get-ChildItemE: vbox

Ví dụ 2: Liệt kê các mục con và thư mục con của chúng bằng cách sử dụng tham số -Recurse

Các -Recurse là tham số tìm kiếm các tệp và thư mục trong thư mục con của đường dẫn được chỉ định. Nếu bạn muốn lưu trữ tất cả thông tin này, hãy sử dụng vùng chứa PowerShell, lưu các chi tiết như Tên, Độ dài và Tên đầy đủ của các mục Con. Sau đó, Get-ChildItem lệnh sẽ truy xuất tất cả thông tin này từ vùng chứa và liệt kê các tệp, thư mục và thư mục con của các mục con.

> Get-ChildItem -Recurse 'E: phần mềm' | Ở đâu { ! $ _ .PSIsContainer} | Lựa chọnTên,Họ và tên,Chiều dài

Bạn có thể lấy thông tin theo yêu cầu của bạn. Ở đây, chúng tôi đã loại trừ Chiều dài của các tệp và thư mục:

> Get-ChildItem -Recurse 'E: vbox' | Ở đâu { $ _ .PSIsContainer} | Lựa chọnTên,Họ và tên

Ví dụ 3: Liệt kê các tệp trong một thư mục bằng cách sử dụng tham số -Exclude

Các -Loại trừ là một tham số chuỗi loại trừ các thư mục và tệp có một số phần mở rộng cụ thể. Nó được chỉ định sau khi thêm đường dẫn của thư mục. Các ký tự đại diện cũng được sử dụng cho mục đích này, chẳng hạn như * .txt được sử dụng trong ví dụ cụ thể dưới đây:

> Get-ChildItem -Recurse 'E: UWT4' -Loại trừ *.txt| Ở đâu {! $ _ .PSIsContainer} | Lựa chọnTên,Họ và tên

Việc thực thi lệnh này sẽ liệt kê tất cả các thư mục và tệp ngoại trừ các tệp có .txt gia hạn.

Ví dụ 4: Liệt kê các tệp trong một thư mục bằng cách sử dụng tham số -Include

Các -Bao gồm là một tham số chuỗi được sử dụng trong Get-ChildItem lệnh ghép ngắn để liệt kê các tệp và thư mục cụ thể. Bạn có thể chỉ định nhiều tiện ích mở rộng với -Bao gồm tùy chọn, được phân tách bằng dấu phẩy. Ví dụ: chúng tôi sẽ bao gồm tất cả các tệp có .txt phần mở rộng trong C: Windows System32 danh mục:

> Get-ChildItem -Con đườngC: Windows System32 * -Bao gồm *.txt

Ví dụ 5: Liệt kê các tệp trong một thư mục bằng cách sử dụng tham số -Descending

Trong khi liệt kê các tệp trong PowerShell , bạn có thể sắp xếp chúng dựa trên các thuộc tính khác nhau như tên tệp hoặc Độ dài của tệp.

Trong lệnh được cung cấp dưới đây, Get-ChildItem sẽ in ra danh sách các tệp và thư mục được sắp xếp giảm dần theo Độ dài của chúng:

> Get-ChildItem -Con đườngE: UWT4-Recurse -Tập tin | loạichiều dài-Tăng dần

Ví dụ 6: Liệt kê các tệp trong một thư mục bằng cách sử dụng tham số -Depth

Nếu bạn muốn kiểm soát đệ quy của các thư mục, hãy sử dụng -Chiều sâu tham số trong của bạn Get-ChildItem chỉ huy. Theo mặc định, khi bạn thực thi Get-ChildItem cmdlet, nó liệt kê tất cả các mục con với các thư mục con của chúng. Tuy nhiên, khi bạn thêm tham số -Depth, bạn có thể liệt kê cấp chính xác nội dung của các thư mục con.

Ví dụ: nếu bạn chỉ định -Phần 2 trong lệnh Get-ChildItem, lệnh ghép ngắn sẽ liệt kê các thư mục con cấp một với các thư mục con cấp hai.

> Get-ChildItem -Con đườngE: vbox-Recurse -Chiều sâu 2

Ví dụ 7: Đếm số lượng mục con trong một thư mục

Khi chúng tôi lưu ngày càng nhiều tệp trên hệ thống của mình, thật dễ dàng để mất theo dõi số lượng tệp trong mỗi thư mục. Lệnh Get-ChildItem cũng cung cấp một giải pháp cho điều đó.

Chúng tôi sẽ chỉ cho bạn cách lệnh ghép ngắn Get-ChildItem đo lường số lượng đối tượng từ E: vbox danh mục.

> (Get-ChildItem -Recurse -Con đườngE: vbox | Đối tượng đo lường).Đếm

Phần kết luận

PowerShell sử dụng Get-ChildItem lệnh cho liệt kê các tệp của một thư mục . Các cho bạn trong dấu nhắc lệnh Windows và Get-ChildItem trong PowerShell thực hiện chức năng tương tự. Trong bài viết này, chúng tôi đã biên soạn các ví dụ để hiểu các tệp danh sách trong PowerShell. Những ví dụ này bao gồm liệt kê các tệp và thư mục từ một thư mục cụ thể, bao gồm hoặc loại trừ một số tệp cụ thể, sắp xếp danh sách tệp hoặc kiểm soát đệ quy của các thư mục.