Powershell小技巧之查找脚本中的函数

所属分类: 脚本专栏 / PowerShell 阅读数: 1740
收藏 0 赞 0 分享

要快速获取你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:\Users\Tobias\Desktop... 06.01.2014 02:43:00    
Test-Command               C:\Users\Tobias\Desktop... 06.03.2014 10:17:02    
Test                       C:\Users\Tobias\Desktop... 30.01.2014 09:32:20    
Get-WebPictureOriginal     C:\Users\Tobias\Desktop... 11.12.2013 11:37:53    
Get-ConnectionString       C:\Users\Tobias\Documen... 23.05.2014 10:49:09    
Convert-SID2User           C:\Users\Tobias\Documen... 23.05.2014 15:33:06    
Lock-Screen                C:\Users\Tobias\Documen... 19.03.2014 12:51:54    
Show-OpenFileDialog        C:\Users\Tobias\Documen... 16.05.2014 13:42:16    
Show-UniversalData         C:\Users\Tobias\Documen... 16.05.2014 13:23:20    
Start-TimebombMemory       C:\Users\Tobias\Documen... 23.05.2014 09:12:28    
Stop-TimebombMemory        C:\Users\Tobias\Documen... 23.05.2014 09:12:28    
(...)

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

支持PS3.0及以后

更多精彩内容其他人还在看

PowerShell显示隐藏文件和系统文件的方法

这篇文章主要介绍了PowerShell显示隐藏文件和系统文件的方法,重点在于对文件、文件夹属性的介绍,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell获取字符串长度的方法

这篇文章主要介绍了PowerShell获取字符串长度的方法,需要注意的是PowerShell中计算字符串长度是不区分中英文的,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell替换字符串操作符replace简明教程

这篇文章主要介绍了PowerShell替换字符串操作符replace简明教程,本文用实例讲解字符串的替换操作,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell脚本中控制Windows DNS服务的方法

这篇文章主要介绍了PowerShell脚本中控制Windows DNS服务的方法,本文给出了相关例子和命令,需要的朋友可以参考下
收藏 0 赞 0 分享

Powershell Profiles配置文件的存放位置介绍

这篇文章主要介绍了Powershell Profiles配置文件的存放位置介绍,Profiles文件存放的位置不同,它的作用域也会不同,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中按文件后缀过滤的实现代码

这篇文章主要介绍了PowerShell中按文件后缀过滤的实现代码,自定义了一个过滤器来满足需求,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell中使用通配符匹配文件路径的例子

这篇文章主要介绍了PowerShell中使用通配符匹配文件路径例子,本文主要讲解星号通配符的应用,需要的朋友可以参考下
收藏 0 赞 0 分享

Win8系统中使用PowerShell安装APPX应用命令介绍

这篇文章主要介绍了Win8系统中使用PowerShell安装APPX应用命令介绍,本文例子相应简单了些,大家可以在参考文章中使用相应命令查询具体用法,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell脚本监控文件夹变化实例

这篇文章主要介绍了PowerShell脚本监控文件夹变化实例,可以监控到文件夹内新建文件、删除文件、重命名文件等操作,需要的朋友可以参考下
收藏 0 赞 0 分享

PowerShell命令中包含空格如何运行?

这篇文章主要介绍了PowerShell命令中包含空格如何运行?即在PowerShell中运行包含空格的命令的方法,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多