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中注入注冊信息


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM