当前位置:首页 > 科技  > 软件

PowerShell Cmdlet高级参数介绍,你都知道多少?

来源: 责编: 时间:2024-01-19 09:19:17 173观看
导读1、ErrorVariable 错误变量上篇文章我们讲过$Error变量,对于PowerShell执行出现的错误会被写入到这个变量里面,加上时间的累积,这个变量的数据量就会非常大,我们平常在排查问题的时候需要对错误信息进行Debu调试,这个时候E

qV228资讯网——每日最新资讯28at.com

1、ErrorVariable 错误变量

上篇文章我们讲过$Error变量,对于PowerShell执行出现的错误会被写入到这个变量里面,加上时间的累积,这个变量的数据量就会非常大,我们平常在排查问题的时候需要对错误信息进行Debu调试,这个时候ErrorVariable 就可以解决这个问题,它的主要作用是把执行出现错误的信息输出到我们定义的变量里面去。qV228资讯网——每日最新资讯28at.com

变量输出方式:覆盖的方式输出错误信息到变量;追加的方式输出错误信息到变量(自定义变量前面增加 + 号 )。qV228资讯网——每日最新资讯28at.com

示例:移除一个不存在的 端午节2.txt命令如下:qV228资讯网——每日最新资讯28at.com

remove-item 端午节2.txt -ErrorVariable CurrError$CurrError  #输出错误信息#再执行一遍remove-item 端午节2.txt -ErrorVariable CurrError $CurrError  #输出错误信息 #发现错误信息没有新增为两条# 给命令增加+号 实现错误信息追加remove-item 端午节2.txt -ErrorVariable +CurrError$CurrError #输出两条错误信息表示追加成功了

覆盖方式执行:qV228资讯网——每日最新资讯28at.com

qV228资讯网——每日最新资讯28at.com

追加命令:qV228资讯网——每日最新资讯28at.com

qV228资讯网——每日最新资讯28at.com

2、OutVariable 结果输出

OutVariable的功能和Tee-Object比较类似,把当前命令的执行结果输出到定义的变量当中去,然后在命令结果传递到管道的同时,把执行结果保存到PowerShell变量中去。qV228资讯网——每日最新资讯28at.com

示例:qV228资讯网——每日最新资讯28at.com

获取Logs目录的信息:qV228资讯网——每日最新资讯28at.com

Get-ChildItem

qV228资讯网——每日最新资讯28at.com

获取的Logs目录信息保存的输出变量LogList。qV228资讯网——每日最新资讯28at.com

Get-ChildItem -OutVariable LogList#输出LogList变量$LogList

qV228资讯网——每日最新资讯28at.com

3、OutBuffer 输出Buffer定义

确定在通过管道发送任何对象之前,缓冲区中要累积的对象数。 如果省略此参数,则会在生成对象时发送对象。qV228资讯网——每日最新资讯28at.com

此参数定义在将任何对象向下传递管道之前要存储在输出缓冲区中的对象数。 默认情况下,对象会立即沿管道向下传递。qV228资讯网——每日最新资讯28at.com

参数类型为Int32。qV228资讯网——每日最新资讯28at.com

官方示例:qV228资讯网——每日最新资讯28at.com

以 ForEach-Object 处理使用 Write-Host cmdlet 的块。 显示以 2 或 OutBuffer + 1的批次交替显示。qV228资讯网——每日最新资讯28at.com

1..4 | ForEach-Object {        Write-Host "$($_): First"; $_      } -OutBuffer 1 | ForEach-Object {                        Write-Host "$($_): Second" }

输出结果:qV228资讯网——每日最新资讯28at.com

1: First2: First1: Second2: Second3: First4: First3: Second4: Second

4、PipelineVariable管道参数

PipelineVariable 允许访问使用此参数的命令传递到下一管道段的最新值。 管道中的任何命令都可以使用命名的 PipelineVariable 访问值。 当变量传递到下一个管道段时,该值将分配给变量。 这使得 PipelineVariable 比特定的临时变量更易于使用,可能需要在多个位置分配该临时变量。qV228资讯网——每日最新资讯28at.com

使用 PipelineVariable 允许任何管道命令访问 (传递的管道值,并) 由上一个命令以外的命令保存。 管道命令可以在处理通过管道的下一项时访问从中传递的最后一个值。 qV228资讯网——每日最新资讯28at.com

示例:qV228资讯网——每日最新资讯28at.com

第一个Foreach-Object命令的结果通过管道传递到第二Foreach-Object个命令中,该命令显示 和 $_的$temp当前值。qV228资讯网——每日最新资讯28at.com

# Create a variable named $temp$temp=8Get-Variable temp# Note that the variable just created isn't available on the# pipeline when -PipelineVariable creates the same variable name1..5 | ForEach-Object -PipelineVariable temp -Begin {    Write-Host "Step1[BEGIN]:`$temp=$temp"} -Process {  Write-Host "Step1[PROCESS]:`$temp=$temp - `$_=$_"  Write-Output $_} | ForEach-Object {  Write-Host "`tStep2[PROCESS]:`$temp=$temp - `$_=$_"}# The $temp variable is deleted when the pipeline finishesGet-Variable temp

输出:qV228资讯网——每日最新资讯28at.com

Name                           Value----                           -----temp                           8Step1[BEGIN]:$temp=Step1[PROCESS]:$temp= - $_=1        Step2[PROCESS]:$temp=1 - $_=1Step1[PROCESS]:$temp=1 - $_=2        Step2[PROCESS]:$temp=2 - $_=2Step1[PROCESS]:$temp=2 - $_=3        Step2[PROCESS]:$temp=3 - $_=3Step1[PROCESS]:$temp=3 - $_=4        Step2[PROCESS]:$temp=4 - $_=4Step1[PROCESS]:$temp=4 - $_=5        Step2[PROCESS]:$temp=5 - $_=5Name                           Value----                           -----temp

本文链接:http://www.28at.com/showinfo-26-64973-0.htmlPowerShell Cmdlet高级参数介绍,你都知道多少?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: Go 日期时间包装器:15条更便捷的时间处理

下一篇: 2024年不容错过的十大开发框架

标签:
  • 热门焦点
  • 一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    一加首款折叠屏!一加Open渲染图出炉:罕见单手可握小尺寸

    8月5日消息,此前就有爆料称,一加首款折叠屏手机将会在第三季度上市,如今随着时间临近,新机的各种消息也开始浮出水面。据悉,这款新机将会被命名为“On
  • 三言两语说透设计模式的艺术-简单工厂模式

    三言两语说透设计模式的艺术-简单工厂模式

    一、写在前面工厂模式是最常见的一种创建型设计模式,通常说的工厂模式指的是工厂方法模式,是使用频率最高的工厂模式。简单工厂模式又称为静态工厂方法模式,不属于GoF 23种设计
  • 一文看懂为苹果Vision Pro开发应用程序

    一文看懂为苹果Vision Pro开发应用程序

    译者 | 布加迪审校 | 重楼苹果的Vision Pro是一款混合现实(MR)头戴设备。Vision Pro结合了虚拟现实(VR)和增强现实(AR)的沉浸感。其高分辨率显示屏、先进的传感器和强大的处理能力
  • 如何通过Python线程池实现异步编程?

    如何通过Python线程池实现异步编程?

    线程池的概念和基本原理线程池是一种并发处理机制,它可以在程序启动时创建一组线程,并将它们置于等待任务的状态。当任务到达时,线程池中的某个线程会被唤醒并执行任务,执行完任
  • 三言两语说透柯里化和反柯里化

    三言两语说透柯里化和反柯里化

    JavaScript中的柯里化(Currying)和反柯里化(Uncurrying)是两种很有用的技术,可以帮助我们写出更加优雅、泛用的函数。本文将首先介绍柯里化和反柯里化的概念、实现原理和应用
  • 阿里大调整

    阿里大调整

    来源:产品刘有媒体报道称,近期淘宝天猫集团启动了近年来最大的人力制度改革,涉及员工绩效、层级体系等多个核心事项,目前已形成一个初步的“征求意见版”:1、取消P序列
  • iQOO Neo8 Pro抢先上架:首发天玑9200+ 安卓性能之王

    iQOO Neo8 Pro抢先上架:首发天玑9200+ 安卓性能之王

    经过了一段时间的密集爆料,昨日iQOO官方如期对外宣布:将于5月23日推出全新的iQOO Neo8系列新品,官方称这是一款拥有旗舰级性能调校的作品。随着发布时
  • OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    OPPO Reno10 Pro英雄联盟定制礼盒公布:萨勒芬妮同款配色梦幻十足

    5月24日,OPPO推出了全新的OPPO Reno 10系列,包含OPPO Reno10、OPPO Reno10 Pro和OPPO Reno10 Pro+三款新机,全系标配了超光影长焦镜头,是迄今为止拍照
  • 联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

    联想的ThinkBook Plus下一版曝光,键盘旁边塞个平板

    ThinkBook Plus 是联想的一个特殊笔记本类别,它在封面放入了一块墨水屏,也给人留下了较为深刻的印象。据有人爆料,联想的下一款 ThinkBook Plus 可能更特殊,它
Top