如何从Alias中选择powershell命令并运行该命令

时间:2016-03-15 17:09:06

标签: powershell

我想要做的是剥离Alis命令的输出并从中获取power-shell命令并运行该命令。

我将如何在bash中执行此操作将是我将剪切输入并获取第二列然后将每行存储在列表中。然后获取以我想要的命令开头的行,并使用正则表达式获取分隔符“ - >”,然后将结果放在字符串中并运行该命令。有点像这样

(如果alias在bash中的功能与在powershell中的功能相同)

别名cd的输出

CommandType    Name                  Version           Source
-----------    ----                  -------           ------ 
Alias          cd -> Set-Location

我想要做的是从命令中获取Set location并将其存储到字符串中以运行命令后者。字段不是制表符分隔的,它们是以空格分隔的。

1 个答案:

答案 0 :(得分:1)

  

我将如何在bash中执行此操作将是我将剪切输入并获取第二列然后将每行存储在列表中。然后得到以我想要的命令开头的行,并使用正则表达式来获得分隔符" - > "然后将结果放在字符串

幸运的是,PowerShell cmdlet会发出对象而不是文本,因此提取这样的信息要容易得多。

要获取别名的定义,请按definition选择对象输出的get-alias属性:

get-alias cd |select-object -expandproperty definition

简而言之,随时您开始思考"我将解析此cmdlet的文本输出"在PowerShell中,你可能做错了。而是将cmdlet传递给Get-Member并查看挂出输出对象的属性和方法。然后询问那些。 PowerShell是基于对象的,而不是基于文本的。如果你已经在狂欢中生活了几年/几十年,那么你做出调整。