命令提示字元的執行歷史無法跨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應用 