TREE 会把参数指定的目录全路径以 大写 形式输出到结果中, 而无论这个 目录 事实上存在与否
以下的代码直接拷贝到命令行 执行, 可看到 字符串 被转换成 大写的效果- set "str=;aNycAse & | > < UPPER or lower"
- for /f "delims=" %a in ('tree "\$\%str%" ^| find /i ":\$\%str%"') do @echo [%~nxa]
复制代码 其中 \$\ 这层目录是可以去掉的, 这里是假设 \$\ 这个目录是不存在的, 运行 TREE 时 就不会产生大量输出而大量增加运行时间.
如果 TREE 的参数指定的目录是存在的, 而且它有着庞大的目录树结构, 那么将会大大降低以上代码的运行效率, 比如 %windir% 就是这样的一种目录. |