联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off for /f "delims=" %%i in ('dir /ad /b f:\ ^| findstr /xiv "1 2 3"') do rd /s /q "f:\%%i"
C:\TEMP\t>findstr /? 在文件中寻找字符串。 FINDSTR filename 先开始我以为这个X与V参数是有冲突的,结果试验普通目录(从目录名1建到10),结果发现不加/X参数与加了/X参数的效果一样,很奇怪。 后来键了带空格的“1 1”类似的目录以后, 才明白原来/V只打印不包含从“X打印完全匹配的行”里提到的匹配的行, (就是/X提出完全匹配的行--目录名“1”,但目录名“1 1”不完全匹配所以不提) 然后由/V来决定滤掉由/X找到的完全匹配的数据行, 就相当于只有指定的目录名为”1“或”2“或”3“的目录不提取(就可以有排除的删了), 而”1 1“等中间带有空格的但也含有”1”字符的目录名由于受到了/X的完全匹配规则, 而也可以放在要删的行列了。 2006-09-28 18:36 <DIR> . 2006-09-28 18:36 <DIR> .. 2006-09-28 18:29 <DIR> 1 2006-09-28 18:36 <DIR> 1 1 2006-09-28 18:33 <DIR> 11 2006-09-28 18:29 <DIR> 2 2006-09-28 18:29 <DIR> 3 2006-09-28 18:34 <DIR> 4 2006-09-28 18:34 <DIR> 5 2006-09-28 18:34 <DIR> 6 2006-09-28 18:34 <DIR> 7 利害~:) 学到很多东西~:)
2006-09-28 18:36 <DIR> . 2006-09-28 18:36 <DIR> .. 2006-09-28 18:29 <DIR> 1 2006-09-28 18:36 <DIR> 1 1 2006-09-28 18:33 <DIR> 11 2006-09-28 18:29 <DIR> 2 2006-09-28 18:29 <DIR> 3 2006-09-28 18:34 <DIR> 4 2006-09-28 18:34 <DIR> 5 2006-09-28 18:34 <DIR> 6 2006-09-28 18:34 <DIR> 7
Originally posted by piziliu2004 at 2006-9-29 10:24: @echo off for /f "delims=" %%i in ('dir/ad/b') do ( if /i not "%%i" == "1" rd %%i if /i not "%%i" == "2" rd %%i if /i not "%%i" = ...