【PowerShell 一天一练】 4. 命令简写,管道符和整合dos命令

来源:互联网 发布:linux逻辑卷划分 编辑:程序博客网 时间:2024/06/13 18:23

昨天说要分析

1.     $s = gp hklm:/Software/Classes/WinRAR/shell/open/command | findstr "(default)"

2.      

3.     if ($s -eq $null)

4.     {

5.         Write-host "请先安装WinRAR"

6.     }

7.     Else

8.     {

9.         Write-host "WinRAR已经安装好了"

10.  }

11.   

 

其实只要参考今天转贴的《转并学习:powershell 命令五味(别名列表,文件操作……》就一目了然了。Powershell允许用短的别名来代替命令(cmdlet) gp就是 Get-ItemProperty的别名(简写)。

 

|”是管道符(pipeline),表示将符号左边命令的输出作为右边的输入,因此上面代码的第一句话就是用gp去拿注册表hklm:/Software/Classes/WinRAR/shell/open/command下面的所有东西,然后交给findstr去用。

 

Findstrdos命令(注意哦,dos命令可以直接用在ps的脚本里),用法可以通过 findstr /?来查询,这里不罗嗦了。

 

因为Winrar安装后会在注册表该键值下注册,所以可以通过该键值来得到winrar.exe的路径(实际上也得到了unrar.exe的路径了)。

 

 不过说了老半天,虽然可以判断winrar有没有安装、也得到了一串包含winrar位置的数据,可是怎么样把路径分离出来为我所用呢?明天继续研究吧呵呵

 

原创粉丝点击