我用 findstr /mv "60" *.txt
怎么会显示所有的文件名?
我的本意是查找文件中不含 60 的文件名,
请问是 命令语法用的不对吗?
或者有什么其它的方法吗?效率高点的?
怎么会显示所有的文件名?
我的本意是查找文件中不含 60 的文件名,
请问是 命令语法用的不对吗?
或者有什么其它的方法吗?效率高点的?
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
for /f "delims=" %%i in ('dir/b *.bat') do findstr /i "60" %%i>nul||echo %%iOriginally posted by zh159 at 2008-4-23 10:18:
试试这个
for /f "delims=" %%i in ('dir/b *.bat') do findstr /i "60" %%i>nul||echo %%i
Originally posted by 26933062 at 2008-4-23 10:32:
谢谢,不过有上千个文件,这样用findstr 命令,可能效率会很慢吧。
就是不想用for ,其实文件中含 60 的都在最后一行,findstr 可以通过这个来完成吗?
@echo off
for /f "delims=" %%i in ('dir/b *.txt') do (
for /f %%j in (%%i) do set str=%%j
call :lp "%%i"
)
pause
exit
:lp
if not "%str%" == "60" echo %~1
goto :eof@echo off
for /f "delims=" %%i in ('dir/b *.txt') do set $%%~nxi=$
for /f "delims=" %%i in ('findstr /im "60" *.txt 2^>nul') do set $%%~nxi=
for /f "delims=$=" %%i in ('set $') do echo %%i
pause
exit