在命令提示字元取得目前資料夾路徑的方法—使用set /p|初學者的命令行#10

目的:將命令提示字當前資料夾複製到剪貼簿,供檔案總管使用

ℹ️ 把命令提示字元目前路徑複製起來,可貼入其他應用的開啟/儲存對話窗

解法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

參考

教學影片

##

您可能也會有興趣的類似文章

簡睿

服務於軟體業的資訊老兵。興趣廣泛,學習力佳,樂於分享所知所學。

您可能也會喜歡…

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *