"Help Tree" retorna ajuda para Copy-Item

"Help Tree" retorna ajuda para Copy-Item

Ao fazer algumas pesquisas sobreoutra pergunta, queria ter certeza de que treenão era um comando ou alias nativo do PowerShell. Claro, a maneira correta de fazer isso é com Get-Command. No entanto, quando procuro um comando do qual não tenho certeza, geralmente prefiro ir direto para o arquivo de ajuda, se ele existir, em vez de executar duas etapas de "verificar se o comando existe,entãová para ajudar". Então, o comando que executei foi help tree. Para minha surpresa, ele retornou o arquivo de ajuda para Copy-Item!

Para verificar a sanidade, expliquei - Get-Help tree- mas acabei com os mesmos resultados. Para ver se treehavia, por algum motivo estranho, um alias para Copy-Itemeu corri gal tree- isso retornou um erro dizendo que tal alias não existe. Corri gal -def Copy-Itempara verificar todos os aliases de Copy-Item, e ele só apareceu copy, cp, e cpi.

Por fim, fiz gcm treepara ver para que o PowerShell realmente deveria estar usando tree. Isso resultou, como eu esperava, um CommandType de "Application" com definição "C:\Windows\system32\tree.com".

Infelizmente, nada disso responde ao comportamento incomum daqui Get-Help. Por que Get-Help treeretornaria o arquivo de ajuda para Copy-Item, quando os dois parecem totalmente não relacionados? Esse comportamento foi duplicado no PowerShell 2.0 no Windows 7 SP1 e no PowerShell 4.0 no Windows 8.1.

insira a descrição da imagem aqui

Responder1

Você está obtendo este resultado porque a ajuda para Copy-Item é oapenasarquivo de ajuda em seu sistema que contém a palavra-chave "árvore". O comando a seguir mostrará que a string “tree” ocorre nos comentários da seção de exemplos.

(Get-Help -Name Copy-Item).examples.example.remarks | Where-Object { $_ -match 'tree'}

Experimente o comando abaixo e você descobrirá que a palavra-chave “intact” também é exclusiva desse arquivo de ajuda.

Get-Help intact

Isso também explica que ele não foi encontrado usando outro código de idioma.

Por exemplo, para obter uma lista de arquivos de ajuda contendo a palavra-chave "particular", use o comando

Get-Help particular

Espero que isso esclareça o uso.

informação relacionada