批处理:在变量中设置一个目录向上路径

Batch: Set one directory up path in variable

您好,我正在将 shell 脚本代码映射到批处理脚本,所以我在 shell 脚本中遇到了这样的语句

BASEDIR=`cd ../;pwd`

但不知道该怎么做。我知道 %CD% 会给我当前目录,但我想在变量中设置一个目录路径。请帮忙

与 shell 代码相比有点复杂。

FOR /F "delims=" %%A in ("%CD%\..") do set "basedir=%%~fA"

编辑与您的评论相关的内容:

要用 \ 替换 \ 只需添加行

set "basedir=%basedir:\=\%"
for /f "delims=" %%a in ("%cd%") do set "upper_dir=%%~dpa"

考虑:

@echo off
set "dir=C:\Windows\System32"
call:up %dir%
:up
echo/%~dp1

另一种方式...

pushd ..
set "BaseDir=%CD%"
popd