„Hilfebaum“ gibt Hilfe für Copy-Item zurück

„Hilfebaum“ gibt Hilfe für Copy-Item zurück

Bei der Recherche zueine andere Fragewollte ich sicherstellen, dass es treesich nicht um einen nativen PowerShell-Befehl oder -Alias ​​handelt. Natürlich ist die korrekte Vorgehensweise die Verwendung von Get-Command. Wenn ich jedoch einen Befehl nachschlage, bei dem ich mir nicht sicher bin, gehe ich normalerweise lieber direkt zur Hilfedatei, wenn sie existiert, anstatt zwei Schritte auszuführen: „Überprüfen Sie, ob der Befehl existiert,Danngehe zur Hilfe". Der Befehl, den ich ausgeführt habe, war also help tree. Zu meiner Überraschung gab er die Hilfedatei für Copy-Item zurück!

Um meine Plausibilität zu überprüfen, habe ich es ausgeschrieben – Get-Help treeaber am Ende kam ich zu den gleichen Ergebnissen. Um zu sehen tree, ob es aus irgendeinem Grund ein Alias ​​für war, habe Copy-Itemich ausgeführt gal tree– dies hat einen Fehler zurückgegeben, der besagt, dass ein solcher Alias ​​nicht existiert. Ich habe ausgeführt, gal -def Copy-Itemum alle Aliase für zu überprüfen , und es wurden nur , , und Copy-Itemangezeigt .copycpcpi

Schließlich habe ich gcm treenachgesehen, wofür PowerShell eigentlich verwendet werden soll tree. Wie erwartet ergab sich ein CommandType von „Application“ mit der Definition „C:\Windows\system32\tree.com“.

Leider ist dies keine Antwort auf das ungewöhnliche Verhalten von Get-Helphier. Warum sollte Get-Help treedie Hilfedatei für zurückgegeben werden Copy-Item, wenn die beiden scheinbar völlig unabhängig voneinander sind? Dieses Verhalten wurde in PowerShell 2.0 unter Windows 7 SP1 und PowerShell 4.0 unter Windows 8.1 dupliziert.

Bildbeschreibung hier eingeben

Antwort1

Sie erhalten dieses Ergebnis, weil die Hilfe für Copy-Item dienurHilfedatei in Ihrem System, die das Schlüsselwort „tree“ enthält. Der folgende Befehl zeigt, dass die Zeichenfolge „tree“ in den Anmerkungen des Beispielabschnitts vorkommt.

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

Probieren Sie den folgenden Befehl aus und Sie werden feststellen, dass das Schlüsselwort „intact“ auch für diese Hilfedatei eindeutig ist.

Get-Help intact

Dies erklärt auch, warum es bei Verwendung eines anderen Gebietsschemas nicht gefunden wird.

Um beispielsweise eine Liste der Hilfedateien zu erhalten, die das Schlüsselwort "particular" enthalten, verwenden Sie den Befehl

Get-Help particular

Ich hoffe, dies verdeutlicht die Verwendung.

verwandte Informationen