“Help Tree” retorna ajuda para Copy-Item

2

Ao fazer algumas pesquisas sobre outra pergunta , Eu queria verificar se o tree não era um comando ou um alias nativo do PowerShell. Naturalmente, a maneira correta de fazer isso é com Get-Command . No entanto, quando estou procurando um comando do qual não tenho certeza, normalmente prefiro ir direto para o arquivo de ajuda, se ele existir, em vez de fazer uma etapa de "verificar se o comando existe, ir para ajudar ". Então, o comando que eu corri foi help tree . Para minha surpresa, ele retornou o arquivo de ajuda para Copy-Item!

Como uma verificação de sanidade, eu soletrei - Get-Help tree - mas acabei com os mesmos resultados. Para ver se tree foi, por algum motivo estranho, um alias para Copy-Item , executei gal tree - isso retornou um erro dizendo que tal alias não existe. Eu corri gal -def Copy-Item para verificar todos os aliases para Copy-Item e ele apenas extraiu copy , cp e cpi .

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

Infelizmente, nada disso responde pelo comportamento incomum de Get-Help aqui. Por que Get-Help tree retornaria o arquivo de ajuda para Copy-Item , quando os dois aparecem 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.

    
por Iszi 02.09.2014 / 15:57

1 resposta

0

Você está obtendo esse resultado porque a ajuda do Copy-Item é o arquivo de ajuda somente em seu sistema que contém a palavra-chave "árvore". O comando a seguir mostrará que a string "tree" ocorre nas observações da seção de exemplos.

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

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

Get-Help intact

Isso também explica que não é encontrado usando outra localidade.

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

Get-Help particular

Espero que isso clarifique o uso.

    
por 05.09.2014 / 18:51

Tags