个人认为:一般来说,最佳答案最好都不要临时文件。
[ Last edited by 26933062 on 2008-7-10 at 11:03 PM ]
[ Last edited by 26933062 on 2008-7-10 at 11:03 PM ]
致精致简!
联盟域名: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
请按任意键继续. . .
| 评分人 | 分数 | 时间 |
|---|---|---|
| 26933062 | +5 | 2008-07-10 23:11 |
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
请按任意键继续. . .