第三列任意一行有一个大于100时提取。不处理行尾的0/1。- @echo off & cd/d "%~dp0" & setlocal EnableDelayedExpansion
- echo 把【文件夹】拖到此窗口中,会处理子目录,非相关文件先移出再运行。
- echo;&set /p var=拖入文件夹,并回车:& CLS
-
- for /f "delims=" %%a in ('dir/a-d/b/s "%var%\*.txt"') do (
- call :BBB "%%a"
- if defined # ( xcopy /y "%%a" "3_100_Folder\">nul&&echo 复制 %%~nxa )
- set "#="
- )
- pause & exit
-
- :BBB
- for /f "tokens=3" %%i in ('type %1') do (
- for /f "tokens=1* delims=." %%a in ("%%~nxi") do if "%%b"=="" (set /a n1=%%a,n2=0) else (echo %%b)|findstr "[1-9]">nul 2>&1 && (set/a n1=%%a,n2=1) || (set/a n1=%%a,n2=0)
- if !n2! equ 0 (if !n1! gtr 100 (set "#=#" &goto :eof)) else if !n1! geq 100 (set "#=#"&goto :eof )
- )
复制代码 只是针对该贴写的。勿套用到其它地方。批中只针对是否大于100而处理。能较快出结果,未优化。 |