Czasami zapominam, jak wygląda dokładna składnia polecenia CMD, a następnie chciałbym przeszukać własną historię CMD. Oczywiście w ramach tej samej sesji możesz przeglądać ją za pomocą klawiszy strzałek w górę iw dół, ale co z historią poprzednich sesji CMD? Czy jest plik, dziennik, w którym zapisywana jest historia, czy też wszystko idzie do cyfrowej nirwany?
Dzięki!
windows
windows-command-prompt
history
command
raoulsson
źródło
źródło
doskey exit=doskey /history ^>^> C:\path\to\cmdhistory.log $T exit $*
ale musisz dowiedzieć się, jak wykonać to automatycznie przy każdym uruchomieniu sesji wiersza polecenia. PS: Upewnij się, że ścieżka do pliku dziennika jest zapisywalna.C:\
nie można zapisać w wierszu polecenia innym niż administrator.Odpowiedzi:
Nie, historii wiersza poleceń systemu Windows nie można zapisać po zakończeniu sesji.
źródło
doskey.exe /history
(stąd też pochodzi skrót F7, BTW), ale nie ma sposobu, aby załadować go z powrotem w następnej sesji.Nie natywnie, ale sprawdź: http://mridgers.github.io/clink/ , sprawia, że cmd.exe jest znacznie bardziej produktywny. Cytowanie funkcji ze strony projektu:
źródło
~/.inputrc
, używając clink? (i czy wiesz, czy może być używana konsola, czy coś takiego?)clink
nienawidzidoskey
; zapomnij o swoich wieloletnich i starannie przypisanych pseudonimach. dlatego przestałem go używać. chociaż tęsknię za wszystkimi funkcjami.Massimo ma rację, że historia wiersza poleceń nie zachowuje się podczas sesji. Możesz to ręcznie pobrać przed zamknięciem monitu, wpisując doskey / history> history.txt
Lub ... możesz użyć programu PowerShell jako monitu CMD i postępuj zgodnie z tym postem, aby zachować swoją historię między sesjami.
źródło
Możesz użyć brzęku .
Najłatwiejszym sposobem zainstalowania brzęku jest użycie czekolady . Po zainstalowaniu Chocolatey możesz zainstalować Clink, wpisując
Począwszy od następnego uruchomienia cmd.exe, powinien on przechowywać historię między sesjami.
źródło
Chocolatey
ze względu na ten post. Instalacja była równie prosta jakbrew
w macOS. A teraz mam podobny do Basha wiersz poleceń w systemie Windows!Możliwe jest zapisanie bieżącej historii do pliku,
Ale wydaje się, że nie ma sposobu, aby załadować go z powrotem jako historię. Można użyć tylko argumentu wiersza poleceń, aby załadować i wykonać wszystkie wiersze,
cmd.exe /K somefile.txt
, co może być przydatne do załadowania listy makr doskey. To wywołanie może być zawarte w skrócie, więc nie trzeba go wpisywać za każdym razem; to odniesienie zawiera dodatkowe informacje na temat tego podejścia .
Podobne pytanie dotyczy Superużytkownika, które przynosi pewne alternatywy, w tym brzęk , jak sugeruje @RobertBak.
źródło
Historia poleceń: Aby włączyć historię poleceń (dostęp do nich można uzyskać za pomocą klawiszy strzałek w górę i w dół), wystarczy wykonać polecenie doskey w wierszu polecenia. Na przykład, aby utworzyć historię poleceń zawierającą 100 elementów:
ref: https://users.cs.jmu.edu/bernstdh/web/common/help/ntshell.php
źródło
clink jest fajny, a autor publikuje czekoladowy pakiet na każdym wydaniu, jednak sugerowałbym DeepBlueCLI.
Możesz użyć https://github.com/sans-blue-team/DeepBlueCLI, aby skonfigurować identyfikator zdarzenia bezpieczeństwa Windows 4688.
W przypadku programu PowerShell DeepBlueCLI wykorzystuje również rejestrowanie modułów (zdarzenie PowerShell 4013) i rejestrowanie bloków skryptów (4104). Nie używa transkrypcji.
Dodatkową korzyścią jest to, że rejestruje skrót pliku exe wiersza poleceń w dzienniku zdarzeń AppLocker. Źródło: https://docs.microsoft.com/en-us/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
Ponadto, ponieważ to rozwiązanie korzysta z infrastruktury dziennika zdarzeń systemu Windows, można przesyłać zapytania za pomocą WMI lub PowerShell
Get-EventLog
. Dzięki brzęczeniu musisz nauczyć się innego narzędzia do wykrywania wzorców zachowań w całym systemie lub sieci.źródło