目的:將命令提示字當前資料夾複製到剪貼簿,供檔案總管使用
把命令提示字元目前路徑複製起來,可貼入其他應用的開啟/儲存對話窗
解法1
環境變數 CD 就是目前資料夾,導向到系統剪貼簿。
echo %CD%\| clip
問題:echo 會附加換行符號
解法2
為了去除換行符號,比較簡單的方法是使用GNU工具 tr
- Windows的GNU工具有很多個,我使用的是 Gnu on Wondows (GitHub)
- 刪除換行(Carriage Return與Line Feed):
tr -d '\r' | tr -d '\n'
最後的寫法:
echo %CD%\| tr -d '\r' | tr -d '\n' | clip
解法3
最後一個執行速度較快的作法是使用 set /p 內部命令。
用set /?可以看到 /p 的說明:
set /p 變數=提示文字
/P 參數讓您設定命令列的使用者輸入變數值。在讀取輸入命令列之前,顯示指定的 promptString。promptString 可以是空白。
首先指定提示文字是目錄資料夾,執行後會回應顯示目前路徑:
set /p WD=%CD%\
再用 echo 將之顯示到命令行,再導向到剪貼簿:
echo | set /p WD=%CD%\| clip
WD變數不會用到,因此將之移除而形成最終版本:
echo | set /p =%CD%\| clip
另外可以用 <NUL以跳過使用者輸入,但因為最後面會多出一個空白,因此仍以上解為佳。
<nul set /p =%CD%\| clip
參考
教學影片
##您可能也會有興趣的類似文章
- fselect: 擺脫複雜的命令選項,用SQL語法搜尋檔案 (0則留言, 2020/11/15)
- [Obs#13] 快速開啟筆記的方法:快速切換對話窗與obsidian:// URI 命令行 (0則留言, 2020/10/18)
- [Batch#1] Windows批次檔-取得系統日期的簡單方法與環境變數字串操作 (初學者的命令行 #5) (2則留言, 2019/12/15)
- [DOS] 以set指令的替換字串功能來解決資料夾重覆附加的小問題 (0則留言, 2016/03/07)
- [Vista] 設定環境變數SET命令的擴充 (0則留言, 2008/04/19)
- 如何用批次指令取得上個月的月份-再修訂版 (12則留言, 2008/10/21)
- [Batch#2] 三個方便的Windows批次檔範例 (初學者的命令行 #6) (0則留言, 2019/12/26)
- [Batch #4] 用批次檔簡化複雜的指令—直接叫用特定的ms-settings (初學者的命令行#8) (0則留言, 2020/08/15)
- 替Prompt加上顏色 (1則留言, 2004/12/03)
- 國人自製Android App:懶人外掛:裝LINE必備,聊天泡泡方便無比 (0則留言, 2017/03/22)
- [Windows] 去除環境變數DATE與TIME內的空白 (0則留言, 2008/04/20)
- [Windows] 刪除特定Java process的方法 (0則留言, 2017/08/02)
- 開始使用Cygwin以取代cmd.exe (2則留言, 2007/01/11)
- DOS命令使用技巧1:最快把文字檔案貼入剪貼簿的方法 (0則留言, 2010/02/27)
- 快速找出類別所在jar檔的命令行工具:LibraryFinder (0則留言, 2016/02/18)