Windows:从命令行获取目录中最高数字文件夹编号

Windows:从命令行获取目录中最高数字文件夹编号

假设我有一个如下目录:

<whatever>\1
<whatever>\3
<whatever>\7
<whatever>\15
<whatever>\42

是否有一个命令可以运行来获取最高数字,例如 42?

答案1

我确信有更好的方法,但这似乎有效。无论如何,对于正值来说。

@echo off
SETLOCAL EnableDelayedExpansion

pushd whatever
set h=0
for /d %%d in (*.*) do (    
    set /a x=!h!-%%~nd  
    if "!x:~0,1!"=="-" set h=%%d    
)
popd

echo Highest value is !h!

首先我们进入whatever文件夹。

然后我们用for /d循环遍历所有子目录,并从当前最高值()中减去文件夹名称的“值”(%%~nd其中%%d是完整路径名,~n仅提取名称)!h!

如果结果x小于 0(以 开头-),则意味着我们找到了更高的值并且我们将覆盖!h!

最后我们回到开始的文件夹。

相关内容