《Learn Windows PowerShell in a Month of Lunches Third Edition》读书笔记—CHAPTER 21 You call this scriptin

21.3 Parameterizing commands

我们编写了一个叫 Get-DiskInventory.ps1 的程序,内容如下:

Get-WmiObject -class Win32_LogicalDisk -computername localhost 
-filter "drivetype=3" |
 Sort-Object -property DeviceID |
 Format-Table -property DeviceID,
 @{label='FreeSpace(MB)';expression={$_.FreeSpace / 1MB -as [int]}},
 @{label='Size(GB)';expression={$_.Size / 1GB -as [int]}},
 @{label='%Free';expression={$_.FreeSpace / $_.Size * 100 -as [int]}}

但是当我们把它分享给别人的时候,别人可能想要对某些参数的值进行修改。这个时候,他们就得阅读源码然后修改。如果他们对PowerShell的编程不那么熟悉的话,这就会很不方便。所以,我么最好还是提供一种更加正规的方式来修改。这个时候,我们就要确定命令运行时可能会改变的东西,然后将这些东西用变量替换,如:
Get-DiskInventory.ps1, with a parameterized command

21.4 Creating a parameterized script

更进一步的,我们可以使用 param() 在我们的变量声明周围。这将 $computername 定义为参数,将其值设为代码运行的默认值。
这里写图片描述

我们可以通过执行 PS C:\> .\Get-DiskInventory.ps1 -computername server-r2 来运行,其中的 .\ 代指当前目录

21.5 Documenting your script

在PowerShell编程中,我们使用 # 定义一行注释,使用 <# #> 结构定义多行注释。我们对 Get-DiskInventory.ps1 增添如下的注释。
Adding help to Get-DiskInventory.ps1

然后,我们在PowerShell中运行 help .\Get-DiskInventory -full 就可以得到此程序的帮助。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值