溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

如何編寫(xiě)批處理bat命令獲取當(dāng)前盤符和當(dāng)前目錄和上級(jí)目錄的代碼

發(fā)布時(shí)間:2021-09-30 11:40:21 來(lái)源:億速云 閱讀:367 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要講解了“如何編寫(xiě)批處理bat命令獲取當(dāng)前盤符和當(dāng)前目錄和上級(jí)目錄的代碼”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“如何編寫(xiě)批處理bat命令獲取當(dāng)前盤符和當(dāng)前目錄和上級(jí)目錄的代碼”吧!

批處理命令獲取當(dāng)前盤符和當(dāng)前目錄

當(dāng)前盤符:%~d0
當(dāng)前路徑:%cd%
當(dāng)前執(zhí)行命令行:%0
當(dāng)前bat文件路徑:%~dp0
當(dāng)前bat文件短路徑:%~sdp0

測(cè)試

echo 當(dāng)前盤符:%~d0
echo 當(dāng)前路徑:%cd%
echo 當(dāng)前執(zhí)行命令行:%0
echo 當(dāng)前bat文件路徑:%~dp0
echo 當(dāng)前bat文件短路徑:%~sdp0

效果如下圖所示

如何編寫(xiě)批處理bat命令獲取當(dāng)前盤符和當(dāng)前目錄和上級(jí)目錄的代碼

可以用echo %cd%進(jìn)行打印測(cè)試

windows 的快捷方式不能使用相對(duì)路徑??梢杂门幚砦募@取相對(duì)路徑。
set pa=%cd% 將當(dāng)前路徑賦值給pa
echo %pa% 顯示pa變量

以下例子是命令行編譯Visual Studio編寫(xiě)的程序:

@echo off
set b=%cd% //將當(dāng)前目錄保存到參數(shù)b中,等號(hào)前后不要有空格
C:
cd program files
cd microsoft visual studio 
cd common 
cd msdev98
cd bin
msdev "%b%\test.dsp" /MAKE "test- Win32 Release" /REBUILD //(VC6.0)
devenv "%b%\Tool Utility\Tool Utility.sln" /REBUILD //(VS2010)
pause

注意:如果路徑中包含空格,則應(yīng)該將路徑加文件名用雙引號(hào)括起來(lái)。

廢話不多說(shuō),直接看例子:

@echo off
echo 當(dāng)前盤符:%~d0
echo 當(dāng)前盤符和路徑:%~dp0
echo 當(dāng)前盤符和路徑的短文件名格式:%~sdp0
echo 當(dāng)前批處理全路徑:%~f0
echo 當(dāng)前CMD默認(rèn)目錄:%cd%
pause

通過(guò)批處理取當(dāng)前目錄的上一級(jí)目錄

@echo off
if %cd%==%cd:~,3% echo 當(dāng)前目錄已經(jīng)是%cd:~,1%盤的根目錄!&goto end
cd..
set "bd=%cd%"
cd..
set "bbd=%cd%"
if "%bbd%"=="%bd%" (echo 上一級(jí)目錄是: %cd:~,1%盤的根目錄!
) else call echo 上一級(jí)目錄是: "%%bd:%bbd%\=%%"
:end
pause

P.S.
上面的程序我運(yùn)行并測(cè)試,分別在第一級(jí)目錄,第二級(jí)目錄,第三級(jí)目錄,第四級(jí)目錄,都執(zhí)行,程序的最終結(jié)果不太正確,這里只給你個(gè)思路,以及對(duì)各級(jí)目錄的獲取方法僅供參考。

億速云小編以前用的一個(gè)bat,方便刪除文件夾里面的說(shuō)明與復(fù)制自己的說(shuō)明

@echo off
setlocal EnableDelayedExpansion
del jb51.txt /s
del 說(shuō)明.htm /s
copy F:\編輯\jb51tools\jb_down\book\ %cd%
mkdir jb51.net
del %0 | move *.* jb51.net

感謝各位的閱讀,以上就是“如何編寫(xiě)批處理bat命令獲取當(dāng)前盤符和當(dāng)前目錄和上級(jí)目錄的代碼”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)如何編寫(xiě)批處理bat命令獲取當(dāng)前盤符和當(dāng)前目錄和上級(jí)目錄的代碼這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

bat
AI