Bessere PowerShell-Hosts als powershell.exe?

8

Ich habe versucht, von meinem alten Lieblings-4NT auf PowerShell umzusteigen. Es fehlen viele Nettigkeiten, die 4NT in den letzten 20 Jahren hinzugefügt hat (ich bin ein alter 4DOS-Benutzer).

Wenn Sie zum Beispiel in 4NT ein paar Buchstaben eingeben und dann hoch / runter drücken, wird die Verlaufsliste nach dem, was Sie eingegeben haben, gefiltert. Bild hoch / runter macht ein Popup mit allen Übereinstimmungen und Sie können den Cursor durch sie hindurch bewegen. Alle im Konsolenfenster, keine GUI. Das ist eine große Zeitersparnis, die ich vermisse. Es gibt viele andere Dinge wie diese fehlt von powershell.exe.

Gibt es Alternativen zu powershell.exe, die vielleicht Funktionen wie diese haben, die die Konsolenumgebung wirklich nutzen? Mir ist klar, dass es viele GUI-basierte Tools gibt, die PowerShell als einen Bereich einbetten, aber ich bin wirklich interessiert an einer cmd.exe / 4nt.exe-Ersetzung, die als 100% -Konsolenanwendung bleibt (außer vielleicht einen Optionen-Dialog oder was auch immer).

    
scobi 25.01.2010, 04:29
quelle

5 Antworten

10

Joshua hat F7 bereits erwähnt. Sie können in Powershell.exe auch Teilhistorienübereinstimmungen durchführen, indem Sie einen Teil des Befehls eingeben und F8 drücken. Wiederholen Sie F8, um durch die Übereinstimmungen zu blättern (siehe about_history). Es gibt auch ein paar mehr Zeilenbearbeitungsfunktionen, als die Leute normalerweise wissen. Diese sind im Hilfethema about_line_editing dokumentiert. Dennoch lässt die Zeilenbearbeitung im PowerShell-Konsolenhost etwas zu wünschen übrig. FWIW alle anderen Hosts, die ich kenne, sind GUI-basiert.

BTW Ich war ein 4NT Benutzer seit Jahren (sowie Korn Shell Benutzer). Sogar mit ein paar fehlenden Annehmlichkeiten in 4NT finde ich PowerShell eine viel leistungsfähigere Shell und als Entwickler sind alle "Sprach" -Bits ziemlich einfach anzupassen und zu verwenden. Ich habe die Korn-Shell if / fi und case / esac -Aussagen nie wirklich gemocht - habe nur meinen Sinn für Aethestik falsch gewichtet. :-) Plus in PowerShell kannst du coole Sachen mit deiner Geschichte machen wie:

%Vor%     
Keith Hill 25.01.2010, 05:35
quelle
5

Es ist auch möglich, den Befehlsverlauf mit # durchzublättern.

Einer der Nachteile von F8 besteht darin, dass die Groß- / Kleinschreibung beachtet wird und nur der Anfang eines Befehls übereinstimmt. Bei der Verwendung von #<partial match><tab> wird nicht zwischen Groß- und Kleinschreibung unterschieden, und Text wird an jeder Position in den vorherigen Befehlen abgeglichen.

Wenn Sie den folgenden Befehlsverlauf haben:

%Vor%

Die Eingabe von #pr und die Tabulatortaste wiederholt durch 1, 2 und 3.

Wenn Sie #st eingeben, wird die Tabulatortaste wiederholt durch 1 und 3 geschaltet.

Wenn nur # verwendet wird, wird der gesamte Verlauf abgeglichen.

# kann auch nach Eingabe eines Teils eines Befehls verwendet werden. Wenn Ihr Verlauf:

ist %Vor%

Sie können Get-Process #n<tab>| #s<tab> eingeben, um Get-Process 'notepad'| select *

zu erhalten     
Rynant 17.11.2011 21:20
quelle
4

Sehen Sie sich PowerTab . Es ist ein großartiges (und kostenloses) Add-on, das Ihnen einige wirklich schöne Funktionen zum Vervollständigen von Tabs bietet.

AKTUALISIEREN

PowerTab hat einen neuen Host.

    
aphoria 25.01.2010 15:13
quelle
3

Hey, du hast dieselbe Geschichte wie ich. Ich bin ein alter 4dos / 4nt Benutzer auch. Ich bin kein Fan der neuen fangled Hosts, die das Konsolen-Subsystem für die Eingabe komplett ersetzen und deshalb mag ich PowerShell Plus - im Kern ist es immer noch die NT-Konsole, hat aber viele moderne grafische Features, die nach Wunsch zurückgesetzt werden können.

Ссылка

Es gibt eine 30-tägige Testversion, und der Autor Tobias Weltner ist sehr reaktionsschnell auf Anfragen / Vorschläge.

-Oisin

    
x0n 25.01.2010 14:54
quelle
2

Powershell ist immer noch ziemlich neu, also suchen Sie jemanden, der einige davon implementiert. Fürs Erste können Sie jedoch F7 drücken, um einen Befehlsverlauf zu erhalten und daraus auszuwählen. Das tab completion-Zeug in Powershell ist auch ziemlich mächtig, und Sie können Platzhalter verwenden, um die Befehls-Tab-Vervollständigung durchzuführen (sogar bei partiellen Cmdlet-Namen).

    
Joshua Smith 25.01.2010 04:37
quelle

Tags und Links