联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
Originally posted by 26933062 at 2008-7-10 11:00 PM: 不是命令行或批处理的问题,而是代码思路不对。 个人认为:一般来说,最佳答案最好都不要临时文件。
@echo off for %%a in (a b c) do echo %%a>>a.txt echo.>>a.txt echo.>>a.txt rem 不改变源文件的偷懒法 copy a.txt c.txt >nul for /f %%i in (a.txt) do echo %%i>>b.txt echo end of file>>c.txt for /f "delims=:" %%i in ('findstr /n . b.txt') do set num1=%%i for /f "delims=:" %%i in ('findstr /n . c.txt') do set num2=%%i set /a num=%num2%-%num1% echo 总行数 %num2% echo 非空行数 %num1% echo 空行数 %num% pause
总行数 6 非空行数 3 空行数 3 请按任意键继续. . .
Originally posted by zw19750516 at 2008-7-10 22:59: 测试了没问题,运行结果:非空行有3行,空行有2行
Originally posted by 26933062 at 2008-7-10 11:09 PM: 回 15 楼 应该是 3 行空行 回 17 楼 算是取巧了,其实这和改变源文件没什么区别,不过总算是结果对了,加分鼓励。! [ Last edited by 26933062 on 2008-7-10 at 11:14 PM ]
Originally posted by 26933062 at 2008-7-10 22:55: for %%a in (a b c) do echo %%a>>1.txt echo.>>1.txt echo.>>1.txt 你测试这个1.txt试试?
非空行数:3 空 行 数:3 请按任意键继续. . .
总行数 4 非空行数 8 空行数 -4 请按任意键继续. . .