我想使用 ADS 来标记我的 ps1 文件,以便更容易地找到它们。
#add tags
PS>Add-Content -Path style.ps1 -Stream tags -Value "colour;help;test"
#search file containing help tag
PS>gc *.ps1 -Stream tags -ea silentlycontinue | ? { $_ -match "help"} |select pspath
PSPath
------
C:tempstyle.ps1
在谷歌上搜索了一下之后,这似乎不是一种常见的做法,你认为这不是一个好主意吗,为什么?谢谢
我认为
最大的问题是您使用什么编辑器以及它是否保留了备用流?例如:
PS C:scripts> Add-Content -Path style.ps1 -Stream tags -Value "colour;help;test"
PS C:scripts> get-content -path style.ps1 -Stream tags
colour;help;test
PS C:scripts> ise style.ps1
PS C:scripts> get-content -path style.ps1 -Stream tags
get-content : Could not open alternate data stream 'tags' of file 'C:scriptsstyle.ps1'.
At line:1 char:1
+ get-content -path style.ps1 -Stream tags
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:scriptsstyle.ps1:String) [Get-Content], FileNotFoundException
+ FullyQualifiedErrorId : GetContentReaderFileNotFoundError,Microsoft.PowerShell.Commands.GetContentCommand
Powershell ISE 不会保留标记流,因此每次编辑某些内容时都必须重新应用标记。我认为大多数其他编辑器也会遇到同样的问题。
此外,您应该在编写的任何脚本上使用某种形式的源代码管理,因此源代码管理系统可能会再次剥离标记。