PowerShell系列(十):PowerShell CmdletPowerShell Cmdlet 参数详解

简介: 【2月更文挑战第5篇】强制类型参数使用比较频繁,基本上涉及新建、更新、配置等命令都需要针对特定的对应进行操作,所有需要强制输入一个参数来确认操作的对象是谁。

今天给大家讲解PowerShell Cmdlet参数相关的知识,希望对大家学习PowerShell能有所帮助!

Cmdlet参数是进行执行操作、获取数据中的属性定义,然后根据属性定义获取对应属性的结果和执行对应的操作。根据类型的使用场景主要划分下面四种参数类型。

一、强制类型参数

使用频率最高,主要用于特定属性的定义。

强制类型参数使用比较频繁,基本上涉及新建、更新、配置等命令都需要针对特定的对应进行操作,所有需要强制输入一个参数来确认操作的对象是谁。

比如新建一个文件的时候,需要指定文件名,这个时候文件名就是强制类型参数,如果没有指定文件名,执行命令就会报错。

比如下面的例子

我们打开PowerShell,然后输入New-Item命令

会提示

位于命令管道位置1的cmdletNew-Item

请为以下参数提供值:

`Path[0]:`

这个时候我们不输入参数,直接点击回车按钮,会提示如下错误

New-Item :无法将参数绑定到参数“Path”,因为该参数为空数组。

所在位置行:1字符:1

+New-item`

`+~~~~~~~~`

`+CategoryInfo:InvalidData:(:)[New-Item],ParameterBindingValidationException`

`+FullyQualifiedErrorId:ParameterArgumentValidationErrorEmptyArrayNotAllowed,Microsoft.PowerShell.Commands.NewIt`

`emCommand`

接着我们重新输入New-item 命令,然后输入参数:test0622.txt ,然后点击回车按钮,然后第二个参数我们不进行输入,之金额点击回车按钮,则没有报错,文件正常创建成功。

这个可以说明:第一个参数是强制输入参数,第二个参数非强制输入参数。

具体可以看下面的截图。

二、Named类型的命名参数

Named类型的命名参数是进行相关属性设置的必要参数。

比如执行如下命令:

New-Item-nametest0622new.txt-pathd:\log-itemtypefile

参数说明

-name :指定对象名称,本次就是文件名 test0622new.txt

-path:指定文件存储路径,d:\log

-itemtype:定义对象的类型

三、Switch开关参数

基于开关参数定义,主要用于二元操作。如果命令当中带上了Switch参数就表示开启属性定义,反之则不开启这个属性定义。如果一个参数是开关类型,在执行过程中可以通过-参数来开启属性定义,否则表示不开启该属性定义。

get-helpget-childitem-parameter*

具体展示如下图:

CodeSigningCert<System.Management.Automation.SwitchParameter>表示为开关类型的数据,

示例:

D盘创建一个logs文件夹,文件夹内容如下图:

首先获取文件夹内容

get-childitem

执行结果如下图:

这里增加Recurse参数,这个参数可以实现下一级文件夹的递归访问,命令如下:

get-childitem-Recurse

执行结果如下图:

说明:针对开关函数,不需要去指定 true 和false ,如果加上-参数,表示为true,如果执行命令不增加参数,表示为false,不启用该参数的定义。

四、Position位置参数

Position位置参数主要用于参数集位置定义的类型,参数的属于与位置有关,判断一个命令是否支持Position参数。通过查询帮助命令的具体参数可以了解该命令是否有支持位置定义的函数。如下图的Path参数就是支持位置定义的参数。

但是在大部分场景当中不建议使用位置参数进行参数指定,如果没有参数值或没有按照位置设置参数,执行命令非常容易出错。

相关文章
|
2月前
|
程序员
PowerShell系列(十一):PowerShell Cmdlet高级参数介绍(一)
【2月更文挑战第6篇】Verbose 参数主要用来显示函数执行过程中通过Write-Verbose写入的相关信息,如果命令执行当中有写入则会有反馈信息输出,反之则没有任何信息输出。输入如下命令
PowerShell系列(十一):PowerShell Cmdlet高级参数介绍(一)
|
2月前
|
存储
PowerShell系列(十二):PowerShell Cmdlet高级参数介绍(二)
【2月更文挑战第7篇】$Error变量,对于PowerShell执行出现的错误会被写入到这个变量里面,加上时间的累积,这个变量的数据量就会非常大,我们平常在排查问题的时候需要对错误信息进行Debu调试,这个时候ErrorVariable 就可以解决这个问题,它的主要作用是把执行出现错误的信息输出到我们定义的变量里面去。
PowerShell系列(十三):PowerShell Cmdlet高级参数介绍(三)
【2月更文挑战第8篇】WarningAction参数和执行命令过程中的警告有关系,该参数就是在PowerShell命令执行过程中出现警告之后进行的操作,默认环境中存在WarningPreference参数定义命令执行过程中出现警告的操作,当然也可以出现警告的时候执行特殊的操作
|
2月前
|
运维 Shell 数据处理
PowerShell系列(九)PowerShell Cmdlet概念介绍
【2月更文挑战第4篇】大家可能对cmd命令比较熟悉cmd就是Windows系统命令行窗口执行的命令,微软为了和传统的Shell命令区分,所以重新起了一个名词“Cmdlet”专门给PowerShell配套使用,Cmdlet可以理解为在PowerShell环境
PowerShell系列(九)PowerShell Cmdlet概念介绍
|
3月前
|
存储 Ubuntu Linux
windows可以安装Ubuntu,ubuntu上也可以安装Powershell
powerhsell除了可以在windows上使用外,还可以在Ubuntu上部署开发环境。下面介绍Ubuntu上安装powershell的方法。
53 0
|
5月前
|
Shell Linux 开发工具
windows中cmd和PowerShell批处理命令
之前在 Git 批量删除本地分支,有用到 Linux 或 MacOS 下的批处理命令,这个命令中的 grep、xargs 本身是 Shell script,在 windows 中的 cmd 和 PowerShell 中是不能用的
51 0