[转]如何在batch文件中把当前的路径记录在一个变量里,并运用这个变量?

如何在batch文件中把当前的路径记录在一个变量里,并运用这个变量?

比如batch文件存储在c:\csdn\microsoft\google\中,我怎么获取这个路径,并把它存储在一个变量里?

谢谢a.
这个问题第1个回答:

mark
这个问题第2个回答:
@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
这个问题第3个回答:
BatchFile code
@echo off

set BatPath=%~dp0

echo 该批处理所在路径为:%BatPath%

pause


这个问题第4个回答:
按惯例,先加分再结贴,呵呵。
这个问题第5个回答:
分好多啊.
这个问题第6个回答:
引用 4 楼 wootong 的回复:
按惯例,先加分再结贴,呵呵。


引用 3 楼 ljc007 的回复:
BatchFile code
@echo off
set BatPath=%~dp0
echo 该批处理所在路径为:%BatPath%
pause



这惯例不错呀。。
这个问题第7个回答:
引用 3 楼 ljc007 的回复:
BatchFile code@echo off
set BatPath=%~dp0
echo 该批处理所在路径为:%BatPath%
pause

正解,呵呵
原文地址:https://www.cnblogs.com/niniwzw/p/1673347.html