Batch file 在for循环中,使用cd,在一行中获取目录的最后一部分

Batch file 在for循环中,使用cd,在一行中获取目录的最后一部分,batch-file,for-loop,pathname,Batch File,For Loop,Pathname,我的意思是获取完整目录路径的最后一部分,当它来自cd时,它与for一起使用,并在一行中设置全部 当来自cd时,路径类似于C:\a\b\C\d\。 后面的反斜杠使事情复杂化 对于没有尾随反斜杠的目录(即,它不能来自cd),一行可以 对于尾随反斜杠的情况可以,但对于一行则不行 产量 > FOR %%a IN (`cd`) DO echo %%~pa > FOR %%a IN (`cd`) DO echo %%~na 是\a\b\c\d\ 以及 > FOR %%a IN (`cd

我的意思是获取完整目录路径的最后一部分,当它来自
cd
时,它与
for
一起使用,并在一行中设置全部

当来自
cd
时,路径类似于
C:\a\b\C\d\
。 后面的反斜杠使事情复杂化

对于没有尾随反斜杠的目录(即,它不能来自
cd
),一行可以

对于尾随反斜杠的情况可以,但对于一行则不行

产量

> FOR %%a IN (`cd`) DO echo %%~pa
> FOR %%a IN (`cd`) DO echo %%~na
\a\b\c\d\
以及

> FOR %%a IN (`cd`) DO echo %%~pa
> FOR %%a IN (`cd`) DO echo %%~na
`cd`
(我希望这里有一个空字符串)

我想我应该将其与类似于
set MYDIR1=%MYDIR:~0,-1%
的语法以及类似于
command1&&command 2
的多个命令结合在一起。 一艘班轮的目标是 差不多

FOR %%a IN (`cd`) DO set MYDIR1=%MYDIR:~0,-1% && echo %%~nMYDIR1

可能使用
令牌
和/或
delims
,但我无法让它工作。

检索当前文件夹的信息

for %%a in (".") do echo %%~nxa

使用带或不带结束反斜杠的变量检索信息

for %%a in ("%cd%\.") do echo %%~nxa

但请注意,在这两种情况下,驱动器的根文件夹都没有名称+扩展名。

检索当前文件夹的信息

for %%a in (".") do echo %%~nxa

使用带或不带结束反斜杠的变量检索信息

for %%a in ("%cd%\.") do echo %%~nxa

但请注意,在这两种情况下,驱动器的根文件夹都没有可用的名称+扩展名。

这只是另一个使用在上发现的技术的选项


这只是另一个选择,使用的是在


按分隔符将字符串拆分为子字符串按分隔符将字符串拆分为子字符串