BAT 獲取當前目錄

BAT是Windows下的腳本語言之一,通過編寫一些BAT批處理文件,我們可以完成一些簡單但重複的工作。這篇文章主要介紹如何使用BAT獲取當前目錄。

一、獲取當前目錄的基本方法

要想獲取當前目錄,我們可以使用如下命令:

@echo off
echo 當前目錄:%cd%

代碼中的 %cd% 是一個環境變量,表示當前目錄。通過 echo 命令輸出即可。

下面是完整的代碼,保存為 get-curr-dir.bat 後雙擊即可運行:

@echo off
echo 當前目錄:%cd%
pause

執行該文件後,命令行窗口會顯示當前目錄。同時會停頓,直到用戶按下任意鍵退出。

二、去掉當前目錄中的引號

噹噹前目錄中包含有空格等特殊字符時,命令行窗口會將其用雙引號括起來,如下所示:

當前目錄:"C:\Program Files"

為了進一步處理當前目錄,我們需要去掉這些雙引號,可以使用如下代碼:

@echo off
setlocal EnableDelayedExpansion
set "dir=%cd:"=%"
echo 當前目錄:%dir%
pause

代碼中使用 setlocal 開啟了局部變量的設置功能。然後使用 EnableDelayedExpansion 選項開啟了延遲環境變量擴展,因為後面需要使用 !cd! 命令。

接下來,把 %cd% 的值傳給 dir 變量,同時使用替換方式把雙引號去掉。最後使用 echo 命令輸出即可。

三、獲取當前目錄的短文件名

在Windows系統下,每個文件都有一個長文件名和一個短文件名。短文件名是系統自動生成的一個類似於 8.3 的格式,方便一些老的應用程序調用。如果要獲取當前目錄下文件的短文件名,可以使用如下代碼:

@echo off
setlocal EnableDelayedExpansion
set "dir=%cd:"=%"
for /f %%a in ('dir /x /ad /b "!dir!"') do (
    set "dir=%%a"
)
echo 當前目錄:%dir%
pause

代碼中使用 for 命令遍歷當前目錄下的所有目錄(/ad),並且使用 /x 參數顯示它們的短文件名。然後使用 /b 參數把輸出結果轉換成純文本格式。

由於目錄名可能包含空格,因此需要使用延遲環境變量擴展和雙引號進行引用。

由於 for 命令的工作方式,%dir% 的值會不斷被修改為當前目錄下遍歷到的每一個目錄的短文件名,直到最後一次遍歷完畢。因此,只需要在遍歷結束後輸出 %dir% 的值即可得到當前目錄的短文件名。

四、獲取當前目錄中的所有文件

如果要列出當前目錄下的所有文件,可以使用如下代碼:

@echo off
setlocal EnableDelayedExpansion
set "dir=%cd:"=%"
for /f "delims=" %%a in ('dir /b "!dir!"') do (
    echo %%a
)
pause

代碼中的 for 命令會遍歷當前目錄下的所有文件,並使用 echo 命令輸出文件名。

需要注意的是,for 命令默認會以空格為分隔符,因此需要使用 “delims=” 參數指定分隔符為空,否則文件名中的空格會被切分。

五、獲取當前目錄中特定類型的文件

如果要只列出當前目錄下的某一種特定類型的文件,可以使用如下代碼:

@echo off
setlocal EnableDelayedExpansion
set "dir=%cd:"=%"
for /f "delims=" %%a in ('dir /b "!dir!\*.txt"') do (
    echo %%a
)
pause

代碼中的 for 命令會遍歷當前目錄下的所有以 .txt 結尾的文件,並使用 echo 命令輸出文件名。

需要注意的是,dir 命令使用了通配符 *,因此不同的文件類型需要修改命令中的通配符。

六、總結

通過這篇文章的學習,我們掌握了如何使用BAT獲取當前目錄的方法,並且學習了如何處理帶有特殊字符的目錄名、如何獲取當前目錄的短文件名、如何列出當前目錄下的所有文件以及如何只列出特定類型的文件。這些方法將有助於我們更好地處理文件操作,並提高工作效率。

原創文章,作者:XIHIS,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/368662.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
XIHIS的頭像XIHIS
上一篇 2025-04-12 01:13
下一篇 2025-04-12 01:13

相關推薦

  • Rclone複製所有目錄

    如果你需要將本地文件複製到雲端,或者從雲端複製文件到本地,Rclone是一個非常好的選擇。本文將介紹如何使用Rclone複製所有目錄。 一、安裝Rclone 首先,你需要在你的機器…

    編程 2025-04-29
  • 二級考級舞蹈大全目錄

    本文將從以下多個方面對二級考級舞蹈大全目錄進行詳細闡述。 一、目錄結構 二級考級舞蹈大全目錄主要分為三級,即一級目錄、二級目錄和三級目錄。其中,一級目錄為舞蹈類型,二級目錄為舞蹈名…

    編程 2025-04-29
  • Python目錄怎麼打開

    Python是一種高級編程語言,以其易讀、易擴展和簡潔高效的特徵,目前得到了眾多程序開發者的認可。Python的應用已經擴展到了人工智能、Web開發、數據分析、自動化測試等領域。本…

    編程 2025-04-28
  • 不從skel目錄複製文件的方法

    對於開發工程師而言,我們經常需要使用一些預定義的目錄結構來組織我們的項目文件。skel作為一個經典的目錄結構,包含了許多常用的文件和目錄。 一、了解skel目錄 skel目錄通常位…

    編程 2025-04-28
  • Python保存文件到指定目錄

    在Python編程中,我們有時需要將生成的文件保存到指定目錄中。本文將從以下幾個方面詳細介紹如何使用Python保存文件到指定目錄。 一、使用os模塊保存文件到指定目錄 在Pyth…

    編程 2025-04-28
  • Python獲取py文件目錄及其應用

    本文將從多個方面介紹Python獲取py文件目錄及其應用,包括獲取py文件所在目錄和父目錄、獲取某個路徑下所有py文件、查找某個目錄下特定文件名的py文件、以及將當前目錄及其子目錄…

    編程 2025-04-27
  • Docker掛載目錄–graph用法介紹

    本文將從如下幾個方面詳細闡述Docker掛載目錄–graph: 一、基本概念 在Docker中,鏡像是由一系列只讀層組成的文件系統。當我們啟動一個容器時,Docker會…

    編程 2025-04-27
  • 網站目錄掃描

    一、目錄掃描是什麼 目錄掃描是一種常見的網絡安全評估技術,通常用於評估一個網站或者系統的安全性。它的原理是通過枚舉目標系統中的文件和目錄,尋找系統存在的漏洞和其他安全問題。 在目錄…

    編程 2025-04-25
  • 深入理解 Vue 目錄結構

    Vue 是一款由 Evan You 開發的流行 JavaScript 框架。Vue 具有響應式視圖和組件化的思想,讓開發者可以輕鬆構建交互式的 Web 應用。那麼在 Vue 開發中…

    編程 2025-04-24
  • Linux複製文件夾下所有文件到指定目錄

    一、使用cp命令複製單個文件 在Linux系統中,我們可以使用cp命令來複制單個文件,具體命令如下: cp 源文件 目標文件 其中,源文件是要複製的文件,目標文件是複製後的文件名或…

    編程 2025-04-24

發表回復

登錄後才能評論