[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