1. 程式人生 > >bat獲取當前路徑

bat獲取當前路徑

@echo off setlocal EnableDelayedExpansion echo 當前正在執行的批處理檔案所在路徑:!cd! pause

@echo off

echo 當前目錄是:%cd%

pause

@echo off

:: set "abc=%cd%" echo 當前正在執行的批處理檔案所在路徑:%~dp0

pause

@echo off echo 當前的碟符及路徑:%~dp0 echo 當前的碟符及路徑的短檔名格式:%~sdp0 pause

@echo 取當前檔案的上級目錄的名稱 set a=D:/abc/def ghi/j k/lmn.bat for %%a in ("%a%") do ( set ok=%%~dpa for /f "delims=" %%b in ("!ok:~0,-1!") do ( echo %%~nb ) ) pause

下面貼一個自己寫的bat檔案,功能是寫入登錄檔,效果等價於配置系統的環境變數,使得NotePad2可以通過命令列啟動

@echo off Setlocal ENABLEDELAYEDEXPANSION if exist /Notepad2.reg ( del /Notepad2.reg ) set var=%cd% set str=%var% set chr=/ rem echo %chr% rem pause :next if not "%str%"=="" ( if "!str:~0,1!"=="%chr%" (set var1=%var1%%chr%%chr%) if not "!str:~0,1!"=="%chr%" (set var1=%var1%%str:~0,1%) set "str=%str:~1%" ::echo %str% goto next ) rem pause echo Windows Registry Editor Version 5.00>>/Notepad2.reg
echo [HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows/CurrentVersion/App Paths/Notepad2.exe]>>/Notepad2.reg echo @="%var1%//Notepad2.exe">>/Notepad2.reg echo "Path"="%var1%">>/Notepad2.reg
/Notepad2.reg del /Notepad2.reg

說明:將該檔案儲存為bat檔案後,放入應用程式可執行檔案所在檔案目錄(Notepad2.exe即為應用程式執行檔名),執行即可在App Paths中注入註冊資訊