如果文件夹是按名称排列的(即按字母顺序排列),请帮我从文件夹列表(包含在一个文件夹中)中获取文件夹的名称(
)例如,如果名为“stack”的文件夹具有一组名为a,b,c,d,e,f的文件夹。然后批处理文件应该返回文件夹“f”的名称
我必须在批处理文件中执行此操作
答案 0 :(得分:0)
您需要的批处理文件行
for /f "delims=" %%a in ('dir /ad /on stack') do set returnvalue=%%a
然后你会显示返回值
echo last name in directory is %returnvalue%
答案 1 :(得分:0)
也许这不是最优雅的方法。 我只是按逆序排序顺序找到文件夹名称并取第一项,然后中断。这避免了遍历整个列表。 脚本应该将您的文件夹作为工作目录。
@echo off
setlocal enabledelayedexpansion
for /F "tokens=* delims=" %%a in ('dir /AD /B /O-N') do (
set lastvalue=%%a
goto break
)
:break
echo !lastvalue!
答案 2 :(得分:0)
这是使用临时文件的另一种方式: 我以反向排序的方式命名文件夹名称并重定向到临时文件。然后我从该文件中读取一次并设置最后一个值。
(dir /AD /B /O-N >temp.txt) && 5<temp.txt ( set /p lastvalue=<&5)
echo %lastvalue%
答案 3 :(得分:0)
只是添加选项。从命令行(或将%
更改为%%
以在批处理文件中使用)
@for /f "tokens=1,* delims=:" %a in ('dir /b/o-n^|findstr /n "^"^|findstr "^1:"') do @echo %b