bat获取当前路径

Posted lychee-wang

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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中注入注册信息



以上是关于bat获取当前路径的主要内容,如果未能解决你的问题,请参考以下文章

批处理bat命令--获取当前盘符和当前目录和上级目录

java怎样获取当前目录路径

Shell 获取路径

批处理获取当前文件名

cmd 运行批处理,路径中有括号不识别怎么办

laravel怎么获取到public路径