You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何记录Windows 10命令行完整交互式会话输出至文件?(非单命令重定向)

嘿,刚好知道几个能搞定这个需求的简便方法!毕竟单个命令的重定向肯定满足不了整个交互式会话的记录,下面给你分情况说:

方法1:用PowerShell原生转录功能(最省心)

如果你能切换到PowerShell(Windows 10自带,不用额外装东西),这绝对是最简单的方案:

  • 打开PowerShell,输入 Start-Transcript,回车后它会告诉你日志文件的默认保存路径(一般在你的文档目录里)
  • 接下来你在这个会话里输入的所有命令、输出内容,都会自动同步记录到这个文件里,完全不用管
  • 要停止记录的话,输入 Stop-Transcript 就行
  • 要是想自定义保存路径,直接加参数:Start-Transcript -Path "C:\MyLogs\CmdSession.txt",这样日志就存在你指定的位置了
方法2:给传统CMD开启会话记录

如果必须用CMD窗口,也有办法:

单次会话记录

每次打开CMD的时候,在运行框里输入:cmd.exe /log "C:\Temp\CurrentSessionLog.txt",这样当前这个CMD窗口里的所有操作(输入的命令、输出的内容)都会自动写到指定的日志文件里。

全局自动记录(每次开CMD都记录)

要是想让所有CMD窗口默认都记录,改个注册表就行:

  1. 按下Win+R,输入 regedit 打开注册表编辑器
  2. 找到路径:HKEY_CURRENT_USER\Software\Microsoft\Command Processor
  3. 右键新建一个字符串值,命名为 Autorun,把值设为 /log "C:\CMDLogs\AllSessions.txt"(路径可以自己改)
  4. 之后每次打开CMD,所有操作都会自动记录到这个文件里,不用再手动加参数

注意:这个/log是CMD的隐藏参数,Windows 10里完全可用,记录的内容和屏幕显示的一模一样。如果不想覆盖旧日志,可以每次手动改文件名,或者用脚本自动生成带时间戳的文件名。

方法3:借助终端工具一键导出

要是你用Windows Terminal(Windows 10后期版本自带,或者微软商店免费下载)或者ConEmu这类第三方终端工具,操作更灵活:

  • Windows Terminal:打开CMD/PowerShell标签页后,点击标签页右上角的菜单,选择「复制全部」或者「保存输出」,就能把整个会话的内容导出成文本文件
  • ConEmu:开启它的「会话记录」功能,就能实时把所有操作存到文件里,还能自定义日志格式,功能更强大

内容的提问来源于stack exchange,提问作者nerdfever.com

火山引擎 最新活动