假设我有一个如下目录:
<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!
。
最后我们回到开始的文件夹。