嗨,我对整个脚本场景相当陌生,并希望有人能帮助我。我已经创建了一个菜单,它将根据用户的输入提示返回一个答案,但是我需要这样做,所以如果您按下"1“,它会将另一个脚本加载到这个脚本中,所以我当前的代码如下:
function Show-Menu
{
param (
[string]$Title = 'Menu'
)
cls
Write-Host " $Title "
Write-Host "1: Tast '1' for at oprette OU"
Write-Host "2: Tast '2' For at oprette grupper"
Write-Host "3: Tast '3' For at importere brugere i grupper"
Write-Host "4: Tast '4' For at eksportere brugerlister til CSV"
Write-Host "5: Tast '5' For at slette brugere"
Write-Host "6: Tast '6' For at ændre password"
Write-Host "Q: Tast 'X' For at afslutte."
}
do
{
Show-Menu
$input = Read-Host "Please make a selection"
switch ($input)
{
'1' {
cls
'Du valgte Nummer #1'
} '2' {
cls
'Du valgte Nummer #2'
} '3' {
cls
'Du valgte Nummer #3'
} '4' {
cls
'Du valgte Nummer #4'
} '5' {
cls
'Du valgte Nummer #5'
} '6' {
cls
'Du valgte Nummer #6'
} 'q' {
cls
'Afslutter nu'
return
}
}
pause
}
until ($input -eq 'q')任何有关如何将脚本加载到此脚本中的提示都将受到赞赏。
发布于 2016-08-29 10:45:14
首先,不要使用input作为变量名-- $input是一个自动变量,通过试图覆盖它,您可能最终会看到一些奇怪和意外的行为。
对于“加载”脚本,请使用点源法,如下所示:
. C:\path\to\script.ps1上面的代码将在调用范围内执行script.ps1,因此脚本中的所有变量和函数定义都是可用的后缀:
do
{
Show-Menu
$choice = Read-Host "Please make a selection"
switch ($choice)
{
'1' {
cls
'Du valgte Nummer #1'
. C:\path\to\script1.ps1
}
'2' {
cls
'Du valgte Nummer #2'
. C:\path\to\script2.ps1
}
'3' {
cls
'Du valgte Nummer #3'
. C:\path\to\script3.ps1
}
# og så videre ...
}
'q' {
cls
'Afslutter nu'
return
}
}
pause
}
until ($choice -eq 'q')最后,您可能只想在输出中选择丹麦语或英语文本,但这更像是我的一种恼怒:-)
https://stackoverflow.com/questions/39204159
复制相似问题