效率是个复杂的问题:
1.单独使用管道、单独使用命令及单独使用for循环,在效率上都没有问题,组合起来就有可能影响效率;
2.实际上40楼后2个for循环与命令dir连用也会影响效率;
40楼代码可以这样改写:- @echo off
- setlocal enabledelayed
- for %%i in (333 444 .ini .exe .bat) do set _%%i=true
- for %%i in (111 222) do set #%%i=true
- for /d %%i in (*) do (
- set str=%%i
- if not defined #!str:~,3! rd /q /s "%%i"
- )
- for %%i in (*) do (
- set str=%%i
- if not defined _%%~xi (
- if not defined _!str:~,3! del "%%i"
- )
- )
- pause
复制代码
|