中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 03:52
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 也出一题:高手、新手都来试试
可打印版本  1,773 / 22
第16楼 26933062 发表于 2008-07-10 23:00
银牌会员 发帖 879 积分 2,268
个人认为:一般来说,最佳答案最好都不要临时文件。

[ Last edited by 26933062 on 2008-7-10 at 11:03 PM ]
第17楼 quya 发表于 2008-07-10 23:04
高级用户 发帖 172 积分 558 来自 江苏
Originally posted by 26933062 at 2008-7-10 11:00 PM:

不是命令行或批处理的问题,而是代码思路不对。
个人认为:一般来说,最佳答案最好都不要临时文件。





运行结果:

总行数 6
非空行数 3
空行数 3
请按任意键继续. . .


应该只看结果吧, 达到目的就好。

生成临时文件占用硬盘空间, 用完之后可以删除。
不生成临时文件占用内存,用完之后可以释放。
二者没什么区别。


当然你要一下子先把条件讲清,不许生成临时文件,那么就看技巧了。

[ Last edited by quya on 2008-7-10 at 11:12 PM ]
第18楼 26933062 发表于 2008-07-10 23:09
银牌会员 发帖 879 积分 2,268
Originally posted by zw19750516 at 2008-7-10 22:59:


测试了没问题,运行结果:非空行有3行,空行有2行

回 15 楼 应该是 3 行空行

回 17 楼
算是取巧了,其实这和改变源文件没什么区别,不过总算是结果对了,加分鼓励。!

[ Last edited by 26933062 on 2008-7-10 at 11:14 PM ]
第19楼 quya 发表于 2008-07-10 23:16
高级用户 发帖 172 积分 558 来自 江苏
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 ]


我这个是比较朴素的取巧, 适合像我这样的新手,他们能看懂我的简单但略显臃肿的代码。

谢谢鼓励!
第20楼 bat-zw 发表于 2008-07-10 23:24
金牌会员 发帖 1,276 积分 3,105
我晕,小楼兄,你这也太钻牛角了吧,我的代码测试我的1.txt除了;行不能正确判断,其它都正确啊,算了,我也不多想了。
第21楼 terse 发表于 2008-07-11 01:02
银牌会员 发帖 946 积分 2,404
可以添加空行到最后一行吗?
第22楼 dosyenanjs 发表于 2008-07-11 01:15
初级用户 发帖 11 积分 22
@echo off
setlocal enabledelayedexpansion
for /f "tokens=1* delims=:" %%i in (a.txt) do (set /a n+=1)
copy /y a.txt b.txt>nul&&echo x>>b.txt
for /f "tokens=1* delims=:" %%a in ('findstr/n . b.txt') do (set /a v=%%a)
set /a d=!v!-!n!
echo 总行:!v!
echo 实行:!n!
echo 空行:!d!
del /q b.txt
pause


[ Last edited by dosyenanjs on 2008-7-11 at 01:27 AM ]
第23楼 wxcute 发表于 2008-07-11 13:12
中级用户 发帖 211 积分 458
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试试?


回13楼
我9楼的代码测试结果(环境:XP SP2):


17楼测试结果(而且每次点都不一样,相同点的是空行数为负):


不知道为什么。
上一页  1 2
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023