使用Splatting在PowerShell中传递参数
来源:互联网 发布:webstorm mac 破解版 编辑:程序博客网 时间:2024/05/20 16:00
今天这一篇文章我们将要探讨如何在PowerShell中使用Splatting方法来传递参数。
首先什么是Splatting呢? 简单的说,Splatting是一种用来打包传递参数值到一个命令的传参方法,Splatting里存储着 先关的参数名以及对应的参数值,使用Splatting我们可以方便的管理参数和参数值,以及从视觉和读写上也更加方便,也方便后续的修改再次使用。
好了,我们一起来看下Splatting到底在PowerShell中是如何使用的,为了更好的让你明白Splatting,我们先举一个普通的例子:
Get-WmiObject -Class Win32_OperatingSystem -Property Version -ComputerName LocalHost
这是一个最为普通的用WMI去查询系统信息版本号的例子。
如果换用Splatting我们可以用如下写法:
$Param = @{Class = "Win32_OperatingSystem"; Property = "Version"; ComputerName = "LocalHost"}Get-WmiObject @Param如上就是Splatting的写法,它用一个集合包容了参数以及参数值去传递给一个命令。 我们先用一个普通变量定义个哈希表,里面包含了参数名以及对应的参数值如: $Variable = @{ <name>=<value>; <name>=<value>; …} ,随后用@符号直接用对应的命令调用这个参数集变量。
当然Splatting不仅仅只有这一种方式去使用,我们还可以用Splatting去处理位置参数的传参,这里与上面使用集合需要对应的参数名和参数值不同的是,我们只需要相对应的参数值,当然有一点需要注意的是它必须符合对应的参数位置顺序。让我们看下如下例子:
$ArrayArguments = "C:\test1.txt", "D:\"Copy-Item @ArrayArguments
直接把想对应的位置参数的值以数组的形式保存在一个变量中,然后依然是直接用@前缀的方式去调用即可。它的效果如同于:
Copy-Item -Path "C:\test1.txt" -Destination "D:\"
这里不得不说Splatting还有一个重复使用的有点,我们在下面定义了一个颜色参数值集合,将它们重复用于不同的字符串输出中。
$Colors = @{ForegroundColor = "yellow" BackgroundColor = "red"}Write-Host "I love Shanghai" @ColorsWrite-Host "He loves Shanghai, too." @Colors
好了,今天就先到里,Splatting还有很多很有趣的方法,大家可以继续去了解。
0 0
- 使用Splatting在PowerShell中传递参数
- 使用Splatting方法来传递参数
- 在PowerShell中定义参数
- 在PowerShell中使用Vim
- 在PowerShell中创建动态参数和参数验证
- 在复杂应用中使用上下文传递参数
- 在数据绑定控件中使用LinkButton传递参数方法
- onclick()在struts 2中使用时传递参数
- 在showModalDialog中使用post方法传递参数
- 在Action中使用request接收Struts2传递的参数
- 在 PowerShell 中使用 WMI 远程调用
- 如何在PowerShell中使用.NET Framework
- 在 PowerShell 中使用 SQL Server
- 在PowerShell中使用枚举类型
- 在PowerShell中使用curl(Invoke-WebRequest)
- 在活动中传递参数
- 在url中传递参数
- 求教?在框架中如何传递参数???
- levelDB的安装与小范例
- c++中的继承中的问题
- 网络库总结
- struts2 常量配置及详解
- We7的区县网站群建设策略
- 使用Splatting在PowerShell中传递参数
- linux 进程间信号量管理程序之sem_timedwait使用
- 赵雅智_Android Paint
- 线程同步
- 2.6.30.4内核cmdline常用命令行参数与相应处理函数
- 最长递增子序列 Longest Incresing Subsequence
- xfire插件安装到myeclips10
- ActionBar常用方法
- 三.Linux环境进程间通信(二):信号(下)