PowerShell中的$Input变量使用实例_PowerShell

本文介绍在自定义PowerShell函数时,有一个$Input变量,这是一个系统自带的变量,它表示以块结构输入的管道数据。

先看看这个$Input变量在函数中是如何使用的。

复制代码 代码如下:

function Test-Pipeline {
    $pipelineData = @($Input)
    $Count = $pipelineData.Count
    “Received $Count elements: $pipelineData”
}

运行结果如下:

复制代码 代码如下:

PS> 1..10 | Test-Pipeline
Received 10 elements: 1 2 3 4 5 6 7 8 9 10

上面例子中,先将$Input变量转换为一个数组(即变量$pipelineData),这样做的好处是后面可以任意的使用$pipelineData变量。大家可能有疑问,什么叫任意使用$pipelineData变量,难道$Input变量不能任意使用?呵呵,说对了!$Input变量只能使用一次!如果不将它赋值给别的变量,那第二次使用到这个$Input变量时,你会怀疑你的眼睛。不信且看:

复制代码 代码如下:

function Test-Pipeline {
    $Count = $Input.Count
    “Received $Count elements: $Input”
}

PS> 1..10 | Test-Pipeline
Received 1 1 1 1 1 1 1 1 1 1 elements:

这个神奇的$Input变量,总的来说,它可以将管道输入以块结构接收,并且只能读一次。

关于PowerShell函数中的$Input变量,本文就介绍这么多,希望对您有所帮助,谢谢!

时间: 2024-07-29 23:46:08

PowerShell中的$Input变量使用实例_PowerShell的相关文章

PowerShell中使用正则表达式匹配字符串实例_PowerShell

本文介绍PowerShell中使用match操作符,配合正则表达式从字符串提取指定的内容. 使用正则表达式,除了可以确定字符串是否匹配某一个正则表达式规则之外,另一个很重要的应用就是从字符串中提取出指定的内容.什么意思呢,举个例子,一个字符串中有出现连续的三个数字,我们想很方便的把这三个数字提取出来,那么就可以用正则表达式. 复制代码 代码如下: PS C:\Users\Hong> $str="abc123abc" PS C:\Users\Hong> $pattern=&q

PowerShell中使用正则表达式筛选数组实例_PowerShell

本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容. 先看下面这个例子: 复制代码 代码如下: PS C:\Users\Hong> (ipconfig) -match 'IPv4'    IPv4 地址 . . . . . . . . . . . . : 192.168.1.102    IPv4 地址 . . . . . . . . . . . . : 192.168.193.1    IPv4 地址 . . . . . . . . . . . . :

PowerShell中的加法运算详解_PowerShell

大家已经PowerShell中的运算符有了一定感性的认识.我们首先来学习"+"运算符.PowerShell定义了"+"运算符处理数值类型.字符串类型.数组类型和哈希表类型的具体行为.在进行数值计算时,"+"和平时的数值计算规则基本一样.不过需要注意,由于计算机内部表示不同数值类型时,使用的存储空间不同,因此这些类型都只能表示一个范围内的数据.在进行数值运算的过程中,如果计算结果超过了参与计算数值类型的值域时,PowerShell将会自动进行类型转

PowerShell中match命令使用详解_PowerShell

1.筛选数组 本文介绍PowerShell中使用match操作符,配合正则表达式从数组中筛选出想要的内容. 先看下面这个例子: PS C:\Users\Hong> (ipconfig) -match 'IPv4' IPv4 地址 . . . . . . . . . . . . : 192.168.1.102 IPv4 地址 . . . . . . . . . . . . : 192.168.193.1 IPv4 地址 . . . . . . . . . . . . : 192.168.93.1

PowerShell中实现播放WAV音频文件_PowerShell

适用于所有PowerShell版本 其实在PowerShell中播放WAV文件非常简单: 复制代码 代码如下: # 在Windows 目录找到一个可用的WAV音频文件 $WAVPath = Get-ChildItem -Path $env:windir -Filter *.wav -Recurse -ErrorAction SilentlyContinue |  Select-Object -First 1 -ExpandProperty FullName    # 加载并播放 "Playing

Powershell实现加密解密文本文件方法实例_PowerShell

适用于Powershell3.0及以后版本. 假设你需要给文件加密,下面教你如何给自己的文件加密: $Path = "$env:temp\secret.txt" $Secret = 'Hello World!' $Passphrase = 'Some secret key' $key = [Byte[]]($Passphrase.PadRight(24).Substring(0,24).ToCharArray()) $Secret | ConvertTo-SecureString -A

PowerShell中的转义字符是什么?_PowerShell

PowerShell中转义字符是`,向后撇号(backward apostrophe,是tab键上面的按键,不是单引号),例如: 复制代码 代码如下: Write-Host `$env:processor_architecture=$env:processor_architecture 会输出$env:processor_architecture=AMD64 当然还有一个转义字符是在正则表达式(Regular Expression)中使用的\,斜线.

Powershell中阻止”确认提示”的方法_PowerShell

适用于所有版本. 某些命令在执行时会自动提示用户再次确认,这可能会带来一些问题在无人执行脚本的时候. 要阻止弹出确认提示,需要设置-Confirm为false,如: 复制代码 代码如下: Remove-ADGroupMember -Identity 'Domain Admins' -Members user12 -Confirm:$false 或者你可以改变Powershell中的确认安全等级,将所有命令的确认提示关闭: 复制代码 代码如下: $ConfirmPreference = 'None

Python中调用PowerShell、远程执行bat文件实例_PowerShell

python调用本地powershell方法 1.现在准备一个简陋的powershell脚本,功能是测试一个IP列表哪些可以ping通: 复制代码 代码如下: function test_ping($iplist) {     foreach ($myip in $iplist)     {         $strQuery = "select * from win32_pingstatus where address = '$myip'"         # 利用 Get-WmiO