PowerShell 技能连载 - 避免使用 Read-Host
您是否使用 Read-Host
来接受用户的输入?如果您是这么做的,请重新考虑一下。Read-Host
总是提示用户,并且用了 Read-Host
就无法自动化运行脚本:
1 | $City = Read-Host -Prompt 'Enter City' |
一个更好的简单方法是这样:
1 | param |
它创建了一个必选参数。如果用户没有提供传输这个实参,那么会创建一个提示,效果类似 Read-Host。但是,用户始终可以传入这个脚本的参数并使脚本自动化运行。只需要确保只有一个 param()
语句,并且必须放在脚本的开始处。逗号来分隔多个参数。
如果您不喜欢 param()
创建的提示,那么可以用这种方法:
1 | param |
这样,您可以完全控制提示的内容,并且用户又可以通过实参传入参数,并且无人值守运行脚本。
PowerShell 技能连载 - 避免使用 Read-Host