联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
for %%c in (w v u t s r q p o n m l k j i h g f e d c) do if not exist %%c:\boot.ini ( set twexe=%%c set test=0 copy tw.exe %twexe%:\99\tw.exe if exist %twexe%:\99\tw.exe ( for /f "delims=" %%a in ('dir %twexe%:\99\*.exe /a /b /os > 234.txt') do ( if "%test%" neq "1" ( type 234.txt |find /i "tw.exe" >nul if errorlevel 1 (del %twexe%:\99\%%a ) else (set test=1 ) ) ) ) )
set twexe=%%c set test=0 copy tw.exe %twexe%:\99\tw.exe
@echo off cd /d g:\99\ for /f "delims=" %%a in ('dir /a:-d /b /o:s *.exe') do ( if %%~za gtr 204800 goto out echo del "%%a" ) :out pause
还有为什么 dir/s/b/d set size=%%~zi 一旦把dir里的/s去掉%%~zi就不能用了?
C:\>for /f %a in ('dir /b g:\test\*.exe') do @echo %~a (size:%~za) exelist.exe (size:) getlnk.exe (size:) gifsicle.exe (size:) IconInjector.exe (size:) pathman.exe (size:)
C:\>cd /d g:\test\ G:\test>for /f %a in ('dir /b *.exe') do @echo %~a (size:%~za) exelist.exe (size:10752) getlnk.exe (size:45056) gifsicle.exe (size:156672) IconInjector.exe (size:334848) pathman.exe (size:6656)
C:\>for %a in (g:\test\*.exe) do @echo %~a (size:%~za) g:\test\exelist.exe (size:10752) g:\test\getlnk.exe (size:45056) g:\test\gifsicle.exe (size:156672) g:\test\IconInjector.exe (size:334848) g:\test\pathman.exe (size:6656)
Originally posted by DOSforever at 2008-11-25 18:49: 参考一下这里: [url]先来说一下如何指定文件大小的范围,这是一个参数,不是某个具体的命令,而且这个参数差不多可以在许多操作对象是文件为参数的 4DOS 命令中使用,例如,指定大小在1~2M之间的文件,如果这里的 1M=1048576byte ,那么可以用 [s1M,2M] ;如果这里的 1M=1,000,000byte ,那么可以用 [s1m,2m];同样,k 和 K 的区别也是如此;你也可以指定具体字节数,比如 [s1024,2048] 。 具体到某个命令,比如查找文件大小为1M~2M之间的文件,可以 dir /[s1M,2M] dir /[s1M,2M] *.txt 那么如何搜索字符串呢?是 FFIND 命令,搜索含有字符串"good"的文件,同时限定搜索文件的大小在1~2M之间可以这样用: ffind /[s1M,2M] /t"good" *.* [/url]