El "árbol de ayuda" devuelve la ayuda para Copy-Item

2

Al investigar un poco sobre otra cuestión , quería verificar para asegurarme de que treeno se tratara de un comando o alias nativo de PowerShell. Por supuesto, la forma correcta de hacerlo es con Get-Command. Sin embargo, cuando busco un comando del que no estoy seguro, generalmente prefiero ir directamente al archivo de ayuda si existe en lugar de hacer dos pasos de "verificar si el comando existe, luego ir a la ayuda" . Entonces, el comando que ejecuté fue help tree. Para mi sorpresa, ¡devolvió el archivo de ayuda para Copy-Item!

Como verificación de cordura, lo expliqué Get-Help tree, pero terminé con los mismos resultados. Para ver si treeera, por alguna extraña razón, un alias para Copy-Itemque ejecuté gal tree, esto devolvió un error diciendo que dicho alias no existe. Corrí gal -def Copy-Itempara comprobar todos los alias para Copy-Item, y sólo detuve copy, cpy cpi.

Finalmente, hice gcm treepara ver para qué se suponía que PowerShell realmente estaba usando tree. Esto resultó, como esperaba, un CommandType de "Aplicación" con la definición "C: \ Windows \ system32 \ tree.com".

Desafortunadamente, nada de esto responde por el comportamiento inusual de Get-Helpaquí. ¿Por qué Get-Help treedevolvería el archivo de ayuda Copy-Itemcuando los dos parecen no tener ninguna relación? Este comportamiento se ha duplicado en PowerShell 2.0 en Windows 7 SP1 y PowerShell 4.0 en Windows 8.1.

ingrese la descripción de la imagen aquí

Iszi
fuente
No estoy recibiendo esto ... snag.gy/Zbz71.jpg
soandos
1
@soandos Debe tener algunos módulos personalizados instalados. Por lo que puedo decir, Show-Tree no es un comando nativo de PowerShell. El primer resultado de Google parece apuntar a las Extensiones de comunidad de PowerShell.
Iszi
Acabo de intentar usar Windows 7 SP1 / PowerShell 2.0. Puedo reproducir el mismo comportamiento usando una configuración regional de inglés de EE. UU., Pero obtengo un HelpNotFoundExceptionerror con uno diferente. No sé si otras configuraciones regionales en inglés están afectadas.
y31415
@Iszi my get command for tree devuelve lo mismo que el tuyo
soandos
@soandos Trygal -def Show-Tree
Iszi

Respuestas:

0

Obtiene este resultado porque la ayuda para Copy-Item es el único archivo de ayuda en su sistema que contiene la palabra clave "árbol". El siguiente comando mostrará que la cadena "árbol" aparece en los comentarios de la sección de ejemplos.

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

Pruebe el siguiente comando y encontrará que la palabra clave "intacta" también es exclusiva de ese archivo de ayuda.

Get-Help intact

Esto también explica que no se encuentra utilizando otra configuración regional.

Por ejemplo, para obtener una lista de los archivos de ayuda que contienen la palabra clave "particular", use el comando

Get-Help particular

Espero que esto aclare el uso.

MFT
fuente
¿Podría señalar y tal vez incluir un extracto de la parte que incluye "árbol"? Me está costando encontrarlo.
Iszi
Claro, editó la respuesta para incluir eso.
MFT
Y marcarlo como respuesta sería amable.
MFT