AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1540885
Accepted
Brian
Brian
Asked: 2020-04-11 20:25:49 +0800 CST2020-04-11 20:25:49 +0800 CST 2020-04-11 20:25:49 +0800 CST

Parâmetros do Powershell: como ler a ordem da entrada do usuário

  • 772

Estou tentando determinar a ordem em que o usuário insere os parâmetros. Então, usando o seguinte exemplo:

function RepeatParamOrder {
    [CmdletBinding()]
    param
    (
        [bool]$param1=$false,
        [bool]$param2=$false,
        [bool]$param3=$false
    )

    Write-Output <order user entered params>
}

Se o usuário digitar o seguinte:

C:\>RepeatParamOrder -param3 true -param1 true

Eu gostaria idealmente de capturar a seguinte ordem em algum formato delimitado:(param3,param1)

A razão pela qual a ordem é importante é que existem muitos, muitos parâmetros que o usuário pode inserir e a ordem em que eles inserem os parâmetros é a ordem em que uma matriz RETURN produzirá valores associados a esses parâmetros. Portanto, neste exemplo, uma matriz 2-D de matrizes com dados associados (param3,param1)é retornada e param2ignorada, pois o usuário não deseja essa informação.

Estou procurando há mais de uma hora uma solução que permita ao script ler os parâmetros do pedido conforme inseridos, mas não tive sorte em encontrar uma solução. Também procurei como simplesmente ler a linha inteira C:\>RepeatParamOrder -param3 true -param1 truepara poder criar um loop para analisar as informações. E, embora pareça básico que deva haver um comando que simplesmente retorne o texto da linha, também não consigo encontrar essa solução. Eu examinei Get-Contente Read-Hosteles não parecem fornecer uma solução (ou seja, uma vez que o usuário insere os valores dos parâmetros, a função/script fará todo o resto sem a necessidade de entrada adicional do usuário - como fornecer ordem além da ordem em que os parâmetros nomeados já estão entrou).

Deve haver uma solução óbvia, mas estou procurando as palavras-chave erradas ou interpretando mal uma solução (por exemplo, talvez Read-Hostseja a solução, mas não estou entendendo corretamente para extrair informações da entrada original do parâmetro do usuário).

powershell parameters
  • 1 1 respostas
  • 266 Views

1 respostas

  • Voted
  1. Best Answer
    Keith Miller
    2020-04-11T21:35:00+08:002020-04-11T21:35:00+08:00

    Acho que você está procurando as propriedades de $MyInvocation . Tente o seguinte:

    function RepeatParamOrder {
        [CmdletBinding()]
        param
        (
            [bool]$param1=$false,
            [bool]$param2=$false,
            [bool]$param3=$false
        )
    
        Write-Output $MyInvocation.Line
    }
    
    • 0

relate perguntas

  • Como colocar string variável em array no powershell?

  • Powershell e regex: lista de arquivos "backup ao salvar" do Notepad ++. Editar nome, classificar por lastwritetime

  • Adicionando cor de primeiro plano ao perfil do Powershell?

  • Não é possível ativar o Microsoft Print to PDF depois de desativado

  • Posso fazer com que este script do PowerShell aceite vírgulas?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    v15 Por que uma conexão de Internet gigabit/s via cabo (coaxial) não oferece velocidades simétricas como fibra? 2020-01-25 08:53:31 +0800 CST
  • Martin Hope
    fixer1234 O "HTTPS Everywhere" ainda é relevante? 2019-10-27 18:06:25 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve