我正在考虑使用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:\temp\style.ps1
谷歌搜索后,这似乎不是一种常见的做法,你认为这不是一个好主意,为什么?感谢
答案 0 :(得分:3)
我认为最大的问题是您使用的编辑器以及是否保留备用流?例如:
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:\scripts\style.ps1'.
At line:1 char:1
+ get-content -path style.ps1 -Stream tags
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:\scripts\style.ps1:String) [Get-Content], FileNotFoundException
+ FullyQualifiedErrorId : GetContentReaderFileNotFoundError,Microsoft.PowerShell.Commands.GetContentCommand
Powershell ISE不保留标记流,因此每次编辑时都必须重新应用标记。我认为大多数其他编辑都会遇到同样的问题。
此外,您应该在您编写的任何脚本上使用某种形式的源代码控制,因此源控制系统可能会再次删除标记。