Làm thế nào tôi có thể có được một tài sản của một đối tượng trong powershell mà không cần sử dụng dấu ngoặc đơn?


13

Tôi thường thấy rằng tôi phải bao quanh một lệnh trong ngoặc đơn và sau đó sử dụng toán tử truy cập thuộc tính (cú pháp dấu chấm) để lấy giá trị của thuộc tính. Điều này khá khó chịu vì tôi phải quay lại từ đầu dòng khi tôi chỉ muốn gõ vào vị trí của mình. Điều này đặc biệt khó chịu khi tôi đang ở giữa một bộ lệnh lớn hơn.

Thí dụ

Nếu tôi có lệnh sau

Get-PSProvider FileSystem

và tôi muốn có được Drivestài sản, trước tiên tôi phải bao quanh toàn bộ lệnh trong ngoặc đơn:

(Get-PSProvider FileSystem).Drives

Có cách nào nhanh hơn để có được giá trị của một tài sản không?

Câu trả lời:


14

Bạn có thể sử dụng Select-Object -ExpandProperty <property name>. Điều này có thể được rút ngắn bằng cách sử dụng bí danh selectvà chỉ gõ một phần của tên thuộc tính:

Get-PSProvider FileSystem| select -exp Drives

Một lợi ích bổ sung cho phương pháp này là bạn có thể truy cập một thuộc tính cho nhiều đối tượng.

Điều này sẽ không trả về bất cứ điều gì ( Cập nhật: Điều này không hoạt động trong PowerShell v3.):

(Get-PSProvider).Drives

Tuy nhiên, điều này sẽ trả lại các ổ đĩa cho tất cả các nhà cung cấp:

Get-PSProvider| select -exp Drives

Rất thú vị. Cảm ơn bạn đã sửa chữa.
soandos
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.