有时,我忘记了CMD命令的确切语法,然后想搜索自己的CMD历史记录。显然,在同一会话中,您可以使用向上和向下箭头键进行浏览,但是以前的CMD会话的历史如何?是否有文件,历史记录要写入的日志,或者全部都归数字天堂?
谢谢!
有时,我忘记了CMD命令的确切语法,然后想搜索自己的CMD历史记录。显然,在同一会话中,您可以使用向上和向下箭头键进行浏览,但是以前的CMD会话的历史如何?是否有文件,历史记录要写入的日志,或者全部都归数字天堂?
谢谢!
Answers:
否,会话结束时无法保存Windows命令提示符历史记录。
doskey.exe /history
(这也是F7快捷方式的来源,顺便说一句),但是无法在下一个会话中将其加载回去。
不是本机的,而是查看:http : //mridgers.github.io/clink/,使cmd.exe的工作效率更高。从项目页面引用功能:
Powerful Bash-like line editing from GNU's Readline library.
Superior path completion (TAB).
Paste from clipboard (Ctrl-V).
Support for the completion of executables/commands, and environment variables.
Undo/Redo (Ctrl-_ or Ctrl-X, Ctrl-U)
Improved command line history.
Persists across sessions.
Searchable (Ctrl-R and Ctrl-S).
History expansion (e.g. !!, !<string>, and !$).
Scriptable completion using Lua.
~/.inputrc
使用叮当声时可以设置吗?(您知道它是否可以用于Console或其他工具吗?)
Massimo是正确的,您的命令提示符历史记录不会在会话之间持久存在。您可以在关闭提示之前,通过键入doskey / history> history.txt来手动捕获它
或者...您可以将PowerShell用作CMD提示,并按照这篇文章在各个会话之间保留您的历史记录。
您可以使用clink。
Clink将本机Windows Shell cmd.exe与GNU Readline库的强大命令行编辑功能结合在一起,该功能提供了丰富的完成,历史记录和行编辑功能。
安装clink的最简单方法是使用Chocolatey。安装Chocolatey之后,您可以通过键入以下内容来安装clink
choco install clink
从下次启动cmd.exe开始,它将存储跨会话的历史记录。
Chocolatey
因为这个帖子决定出手。安装与brew
在macOS中一样容易。现在我在Windows中有一个类似于Bash的命令提示符!
可以将当前历史记录保存到文件中,
`$ doskey /history > somefile.txt`
但是似乎没有办法将其作为历史载入。只能使用命令行参数来加载和执行所有行,
cmd.exe /K somefile.txt
,这对加载doskey宏列表很有用。该调用可以包含在快捷方式中,因此您无需每次都键入它;此参考文献中还包含有关此方法的其他信息。
命令历史记录:要启用命令历史记录(可以使用向上和向下箭头键访问),只需在命令提示符处执行doskey。例如,要创建一个包含100个元素的命令历史记录:
doskey /listsize=100
参考:https : //users.cs.jmu.edu/bernstdh/web/common/help/ntshell.php
clink很不错,作者在每个发行版上都会发布一个巧克力包装,但是我建议使用DeepBlueCLI。
您可以使用https://github.com/sans-blue-team/DeepBlueCLI设置Windows安全事件ID 4688。
对于PowerShell,DeepBlueCLI还使用模块日志记录(PowerShell事件4013)和脚本块日志记录(4104)。它不使用转录。
附加的好处是,它会将命令行exe的哈希记录在AppLocker事件日志中。来源:https : //docs.microsoft.com/zh-cn/windows-server/identity/ad-ds/manage/component-updates/command-line-process-auditing
另外,由于此解决方案使用Windows事件日志基础结构,因此您可以通过WMI或PowerShell查询它Get-EventLog
。使用clink,您必须学习另一种工具才能检测系统或网络范围内的行为模式。
doskey exit=doskey /history ^>^> C:\path\to\cmdhistory.log $T exit $*
但是您需要弄清楚如何在每次命令提示符会话启动时自动执行该日志。PS:确保日志文件的路径可写。C:\
对于非管理员命令提示符不可写。