使用NTFS备用数据流标记脚本是否可以接受?

时间:2014-02-14 10:57:27

标签: search powershell stream powershell-v3.0 ntfs

我正在考虑使用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                                                                            
谷歌搜索后,这似乎不是一种常见的做法,你认为这不是一个好主意,为什么?感谢

1 个答案:

答案 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不保留标记流,因此每次编辑时都必须重新应用标记。我认为大多数其他编辑都会遇到同样的问题。

此外,您应该在您编写的任何脚本上使用某种形式的源代码控制,因此源控制系统可能会再次删除标记。