捕获多个变量
Capture multiple variables
我目前有一个 powershell 脚本,它允许我一次输入一个用户的详细信息,以后可以将其用作变量。目前,脚本会调用每个输入,然后将其保存为变量,然后重复 10 次。
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$NameOne = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")
$firstname,$surname = $NameOne -split("\.")
$NameTwo = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")
$firstname,$surname = $NameTwo -split("\.")
有没有办法缩短脚本,既允许输入和存储用户名,又在 InputBox 没有数据输入时继续执行脚本的下一部分?
谢谢
汤姆
使用 while
循环:
$Users = while(($Username = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")).Trim() -ne "")
{
$firstname,$surname = $Username -split '\.'
New-Object psobject -Property @{
Firstname = $firstname
Surname = $surname
Username = $Username
}
}
当用户不输入任何内容或输入空格时,循环将退出,否则它将创建一个新的 "User object" 并最终出现在 $Users
数组
中
我目前有一个 powershell 脚本,它允许我一次输入一个用户的详细信息,以后可以将其用作变量。目前,脚本会调用每个输入,然后将其保存为变量,然后重复 10 次。
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.VisualBasic') | Out-Null
$NameOne = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")
$firstname,$surname = $NameOne -split("\.")
$NameTwo = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")
$firstname,$surname = $NameTwo -split("\.")
有没有办法缩短脚本,既允许输入和存储用户名,又在 InputBox 没有数据输入时继续执行脚本的下一部分?
谢谢 汤姆
使用 while
循环:
$Users = while(($Username = [Microsoft.VisualBasic.Interaction]::InputBox("Enter UserName")).Trim() -ne "")
{
$firstname,$surname = $Username -split '\.'
New-Object psobject -Property @{
Firstname = $firstname
Surname = $surname
Username = $Username
}
}
当用户不输入任何内容或输入空格时,循环将退出,否则它将创建一个新的 "User object" 并最终出现在 $Users
数组