Board logo

标题: [转载代码] [PowerShell每日技巧]有对话提示的强制参数(20140206) [打印本页]

作者: DAIC    时间: 2014-2-18 13:22     标题: [PowerShell每日技巧]有对话提示的强制参数(20140206)

Typically, when you mark a function parameter as "mandatory", PowerShell will prompt the user when the user omits the parameter:
  1. function Get-Something
  2. {
  3.       param
  4.       (
  5.             [Parameter(Mandatory=$true)]
  6.             $Path
  7.       )
  8.       "You entered $Path"
  9. }
复制代码
The result looks like this:
PS > Get-Something

cmdlet Get-Something at command pipeline position 1
Supply values for the following parameters:
Path:


Here is an alternative: if the user omits -Path, the function opens an OpenFile dialog:
  1. function Get-Something
  2. {
  3.       param
  4.       (
  5.             $Path = $(
  6.               Add-Type -AssemblyName System.Windows.Forms
  7.               $dlg = New-Object -TypeName  System.Windows.Forms.OpenFileDialog
  8.               if ($dlg.ShowDialog() -eq 'OK') { $dlg.FileName } else { throw 'No Path submitted'}
  9.             )
  10.       )
  11.       "You entered $Path"
  12. }
复制代码
http://powershell.com/cs/blogs/tips/archive/2014/02/06/mandatory-parameter-with-a-dialog.aspx




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2