Quando executo isso no PowerShell, ele gera o nome dos meus arquivos (neste caso, apenas um), sem o caminho completo:
PS C:\dev\temp> gci test.* | % { $_.Name }
test.txt
Quando coloco o nome entre aspas para formatação de string, ele inclui o caminho completo:
PS C:\dev\temp> gci test.* | % { "Name is: $_.Name" }
Name is: C:\dev\temp\test.txt.Name
Que mágica louca está acontecendo aqui? Como posso obter o nome sem o caminho completo e usá-lo entre aspas para formatação? Eu poderia usar, "blah " + $_.Name + " blah"
mas isso parece mais feio.
fonte