2.1 过滤列表项或命令输出项

  列出所有正在运行进程名称中包含"search"的进程,对进程名字属性使用-like操作符来比较进程的Name属性

    Get-Process | Where-Object {$_.Name -like "*search*"}

  列出当前位置的所有子目录,使用PsIsContainer属性

    Get-ChildItem | Where-Object { $_.PsIsContainer}

  列出所有已经停止的服务,对服务的Status属性使用操作符-eq

    Get-Service | Where-Object {$_.Status -eq "Stopped"}

  对于输入的每一项,Where-Object会根据定义的脚本块对输入进行估算,脚本块返回真,就输出,否则,不输出。

  一个脚本块是指用{}括起来的一系列PowerShell命令,在脚本块中可以输入任意PowerShell命令,$_代表当前输入的对象,

  对于输入对象中的每一项,PowerShell将它指派给$_变量,然后运行脚本。

2.4 处理列表或命令输出的每一项

  使用Foreach-Object处理列表中的每一项

    1..10 | Foreach-Object {$_ * 2}

    1..10是PowerShell生成数组的语法。

    PowerShell-第2章 管道

  处理目录中的文件,在脚本块中使用$_变量作为参数

    Get-ChildItem *.txt | Foreach-Object {attrib -r $_}

  获得正在运行的记事本程序的进程列表,然后等待它们退出

    $notepadProcess = Get-Process notepad++

    $notepadProcess | Foreach-Object {$_.WaitForExit()}

    会一直等待notepad++退出,如果没有退出,一直监控,一旦退出,此条命令结束。

 

相关文章:

  • 2021-05-19
  • 2022-12-23
  • 2021-05-27
  • 2022-01-08
  • 2021-06-19
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
猜你喜欢
  • 2021-11-10
  • 2021-04-15
  • 2021-08-26
  • 2022-01-02
  • 2021-09-19
相关资源
相似解决方案