首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >根据用户输入加载脚本

根据用户输入加载脚本
EN

Stack Overflow用户
提问于 2016-08-29 10:36:22
回答 1查看 109关注 0票数 2

嗨,我对整个脚本场景相当陌生,并希望有人能帮助我。我已经创建了一个菜单,它将根据用户的输入提示返回一个答案,但是我需要这样做,所以如果您按下"1“,它会将另一个脚本加载到这个脚本中,所以我当前的代码如下:

代码语言:javascript
复制
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')

任何有关如何将脚本加载到此脚本中的提示都将受到赞赏。

  • 菲利浦
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-29 10:45:14

首先,不要使用input作为变量名-- $input是一个自动变量,通过试图覆盖它,您可能最终会看到一些奇怪和意外的行为。

对于“加载”脚本,请使用点源法,如下所示:

代码语言:javascript
复制
. C:\path\to\script.ps1

上面的代码将在调用范围内执行script.ps1,因此脚本中的所有变量和函数定义都是可用的后缀:

代码语言:javascript
复制
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')

最后,您可能只想在输出中选择丹麦语或英语文本,但这更像是我的一种恼怒:-)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39204159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档