批处理,用正则表达式找出当前文件夹的名称,不是路径

2025-04-11 12:11:16
推荐回答(3个)
回答1:

你是要找一个文件夹名字吗,?
for /f "delims=" %%a in ('dir /ad/s/b "当前文件夹"') do echo %%~nxa
pause

回答2:

应该说用findstr命令并不适合所提问题,它的所谓"正则表达式"也就能查找某文件中或某字符串中是否含有某类特征组合,就是说只能精确到是否含有的一行或一整串,而不能从一串中截取该串中的相符的一段,要想截取得用别的命令(顺便说一下"&" 符属cmd命令中的特殊符,而"\"符属于findstr命令中的转义符,在不用/c参数及引号时要表示一个 \ 得写成 \\  findstr的用法及特殊符的处理方法一两句说不清楚...)

当前路径有现成的变量%cd%可表示, 如果想获取当前文件夹名可用:
for %%i in ("%cd%")do set "当前文件夹=%%~nxi"
如果是从字符串中获取(而不是真正当前路径):
set "pathstr=D:Program files\AAA\BBB\xxx\"
if "pathstr:~-1"=="\" set "pathstr=%pathstr:~,-1%"
for %%i in ("%pathstr%")do set "该文件夹=%%~nxi"

回答3:

让你知道你最美