Powershell小技巧之查找脚本中的函数
Powershell小技巧之查找脚本中的函数
发布时间:2016-12-28 来源:查字典编辑
摘要:要快速获取你PS脚本库中所有文件的函数名,你可以这样做:复制代码代码如下:filterFind-Function{$path=$_.Full...

要快速获取你PS脚本库中所有文件的函数名,你可以这样做:

复制代码 代码如下:

filter Find-Function

{

$path = $_.FullName

$lastwrite = $_.LastWriteTime

$text = Get-Content -Path $path

if ($text.Length -gt 0)

{

$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 -Property Name, 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:UsersTobiasDesktop... 06.01.2014 02:43:00

Test-Command C:UsersTobiasDesktop... 06.03.2014 10:17:02

Test C:UsersTobiasDesktop... 30.01.2014 09:32:20

Get-WebPictureOriginal C:UsersTobiasDesktop... 11.12.2013 11:37:53

Get-ConnectionString C:UsersTobiasDocumen... 23.05.2014 10:49:09

Convert-SID2User C:UsersTobiasDocumen... 23.05.2014 15:33:06

Lock-Screen C:UsersTobiasDocumen... 19.03.2014 12:51:54

Show-OpenFileDialog C:UsersTobiasDocumen... 16.05.2014 13:42:16

Show-UniversalData C:UsersTobiasDocumen... 16.05.2014 13:23:20

Start-TimebombMemory C:UsersTobiasDocumen... 23.05.2014 09:12:28

Stop-TimebombMemory C:UsersTobiasDocumen... 23.05.2014 09:12:28

(...)

将结果用管道传给Out-GridView 将能得到更完美的信息。

支持PS3.0及以后

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新PowerShell学习
热门PowerShell学习
脚本专栏子分类