2012-07-12 5 views
10

Ví dụ, tôi có 3 file trong c: \ zTrong Powershell, Làm thế nào để tham gia một thuộc tính của một mảng các đối tượng?

PS C:\z> dir | select name 

Name 
---- 
a.png 
b.png 
c.png 

Những gì tôi muốn là một chuỗi.

a.png, b.png, c.png

Cảm ơn.

+0

Điều thực sự hữu ích - [Cho tôi biết thêm: Mở rộng đối tượng và thuộc tính trong PowerShell] (https://www.petri.com/expanding-objects-properties-powershell) – KyleMit

Trả lời

17

Nếu bạn muốn một mảng các chuỗi, tất cả các bạn phải làm là để:

dir | select -expand name 

Nếu bạn muốn điều đó như là một chuỗi duy nhất với các giá trị dấu phẩy tách ra:

(dir | select -expand name) -join "," 
+0

Thậm chí ngắn hơn - bạn cũng có thể đơn giản coi biến là một đối tượng duy nhất và chỉ cần chỉ định tên thuộc tính. tức là PowerShell sẽ tự động mở rộng 'dir.name' vào cùng một điều như' dir | Chọn tên -ExpandProperty'. – KyleMit

8

Chỉ cần một cải tiến nhỏ, bạn chỉ có thể nhận tên bằng công tắc Tên:

(dir -name) -join ','