Powershell小技巧之查找脚本中的函数
要快速获取你PS脚本库中所有文件的函数名,你可以这样做:
filterFind-Function
{
$path=$_.FullName
$lastwrite=$_.LastWriteTime
$text=Get-Content-Path$path
if($text.Length-gt0)
{
$token=$null
$errors=$null
$ast=[System.Management.Automation.Language.Parser]::ParseInput($text,[ref]$token,[ref]$errors)
$ast.FindAll({$args[0]-is[System.Management.Automation.Language.FunctionDefinitionAst]},$true)|
Select-Object-PropertyName,Path,LastWriteTime|
ForEach-Object{
$_.Path=$path
$_.LastWriteTime=$lastwrite
$_
}
}
}
这将扫描出你用户配置文件夹下的所有PS脚本中的函数:
PS>dir$home-Filter*.ps1-Recurse-Exclude*.ps1xml|Find-Function Name Path LastWriteTime ---- ---- ------------- Inject-LogonCredentials C:\Users\Tobias\Desktop...06.01.201402:43:00 Test-Command C:\Users\Tobias\Desktop...06.03.201410:17:02 Test C:\Users\Tobias\Desktop...30.01.201409:32:20 Get-WebPictureOriginal C:\Users\Tobias\Desktop...11.12.201311:37:53 Get-ConnectionString C:\Users\Tobias\Documen...23.05.201410:49:09 Convert-SID2User C:\Users\Tobias\Documen...23.05.201415:33:06 Lock-Screen C:\Users\Tobias\Documen...19.03.201412:51:54 Show-OpenFileDialog C:\Users\Tobias\Documen...16.05.201413:42:16 Show-UniversalData C:\Users\Tobias\Documen...16.05.201413:23:20 Start-TimebombMemory C:\Users\Tobias\Documen...23.05.201409:12:28 Stop-TimebombMemory C:\Users\Tobias\Documen...23.05.201409:12:28 (...)
将结果用管道传给Out-GridView将能得到更完美的信息。
支持PS3.0及以后
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下