要快速獲取你PS腳本庫中所有文件的函數(shù)名,你可以這樣做:
復(fù)制代碼 代碼如下:
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腳本中的函數(shù):
復(fù)制代碼 代碼如下:
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
(...)
將結(jié)果用管道傳給Out-GridView 將能得到更完美的信息。
支持PS3.0及以后
您可能感興趣的文章:- 收集的48個(gè)Shell腳本小技巧
- Shell腳本echo指令使用小技巧
- Shell腳本計(jì)算字符串長度和判斷字符串為空小技巧
- 寫出健壯Bash Shell腳本的一些技巧總結(jié)
- PowerShell腳本性能優(yōu)化技巧總結(jié)
- Powershell小技巧之記錄腳本的操作
- Powershell小技巧之找出腳本中的錯(cuò)誤
- Powershell小技巧之捕獲腳本內(nèi)部的異常
- 十三個(gè)寫好shell腳本的技巧分享