2015-08-28 65 views
0

bash我寫
echo prefix{t1,t2,t3}suffix
並得到了
prefixt1suffix prefixt2suffix prefixt3suffix展開列表在PowerShell中

是這樣出現在PowerShell的? 列表expantion我的意思是。

+0

正在使用循環選項? – arco444

+0

'「t1」,「t2」,「t3」| %{「prefix」+ $ _}' –

+0

也許你可以使用'splatting'http://stackoverflow.com/questions/448911/how-to-expand-a-powershell-array-when-passing-it-to- a功能 –

回答

1

沒有自動擴展,但你可以ForEach-Object cmdlet或陣列的ForEach方法PS 4 and higher輕鬆地做到這一點:

't1', 't2', 't3' | ForEach-Object {'prefix' + $_ + 'suffix'} 

@('t1', 't2', 't3').ForEach({'prefix' + $_ + 'suffix'}) 
+0

這不是一個解決方案,但很好。謝謝。 – OlegG

+0

@OlegG我很好奇,你有什麼具體的原因,需要列表擴展是完全一樣的bash?因爲我相信內部bash也會循環播放,所以沒有其他辦法可以做到。 PowerShell沒有這個特定的快捷方式,就是這樣。 – beatcracker

+0

只需比較Bash命令行'vim -d/some/directory/file {1,2} .ps1'與我在PowerShell中編寫的內容,即可看到我的理由。 – OlegG

1

幾個其他的方法是:

't1', 't2', 't3' | % {"prefix$($_)suffix"} 

't1', 't2', 't3' | % {'prefix{0}suffix' -f $_} 
+0

這不是一個解決方案,但也很好。謝謝。 – OlegG