Nasz
oneliner pobierze rekursywnie listę plików z katalogu domowego użytkownika (
Get-ChildItem -Recurse $HOME
, w skrócie
gci -r $HOME
), następnie dla każdego pliku i katalogu pobierze wszystkie strumienie (
Get-Item -Stream *
, w skrócie
gi -s *
), po czym odrzuci domyślne strumienie
where Stream -ne ':$DATA'
. Na koniec wyświetlimy jedynie nazwę pliku i nazwę strumienia.
Niech jeden listing stanie się wart więcej niż tysiąc słów:
PS C:\Users\drg> mkdir ads
Directory: C:\Users\drg
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 29.09.2020 11:27 ads
PS C:\Users\drg> Set-Content -Path .\ads\hello.txt -Value "hello"
PS C:\Users\drg> Set-Content -Path .\ads\hello.txt -Value "tajne dane" -Stream ukryty
PS C:\Users\drg> Get-ChildItem .\ads\
Directory: C:\Users\drg\ads
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 29.09.2020 11:28 7 hello.txt
PS C:\Users\drg> Get-ChildItem .\ads\|Get-Item -Stream *|Select Filename,Stream
FileName Stream
-------- ------
C:\Users\drg\ads\hello.txt :$DATA
C:\Users\drg\ads\hello.txt ukryty
PS C:\Users\drg> Get-Content .\ads\hello.txt
hello
PS C:\Users\drg> Get-Content .\ads\hello.txt -Stream ukryty
tajne dane
PS C:\Users\drg> cat .\ads\hello.txt:ukryty
tajne dane
PS C:\Users\drg>
Jeśli chcesz otrzymywać nowe, mięsiste protipy na maila, a także zostać czasem powiadomiony o wartościowych wydarzeniach - dołącz do subskrybentów.