[AHK#32] 让多个cmd.exe共用命令历史的变通作法(跨Session共用)

命令提示字符的执行历史无法跨Session

每一个命令提示字符(cmd.exe)都是独立的执行实例(Instance),有什么办法把第一个cmd.exe里的命令历史传递到另一个cmd.exe?

下面是变动的方法。

1. 取得并储存执行历史

取得cmd.exe执行历史的命令:

doskey /history > c:\temp\_hist.cmd 

/history可以使用/h取代。

我们可以建立快速查询执行历史的代名或批次:

▼ 代名

doskey h=doskey /h 

接着用 hsave.bat 来储存命令历史与目前资料夹:

@echo off doskey /history > c:\temp\_hist.cmd echo %CD% | clip 

2. 重新加载执行历史

建立 hload.bat:

@echo off chcp 65001 type c:\temp\_hist.cmd | fzf --tac | clip clip_run.ahk 

fzf的使用方法请参考:

fzf默认会被输入倒著排列,用–tac则可取消倒排的作法。

clip_cd.ahk由系统剪贴簿取得在fzf里选用的内容,处理后重新输出给cmd.exe执行。

此个作法也适用于同一个cmd.exe,不过,其实按F7就有内建的选单可以用了!

批次档原始码

连结

解说影片

##


想在手机阅读更多Windows资讯?下载【香港硅谷】Android应用
分享到Facebook
技术平台: Nasthon Systems