![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-07 07:18 |
共 48,040 主题排行 / 350,125 发帖 / 今日 1 篇 / 48,252 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已解决]关于命令回显和写入文件的问题 |
| 可打印版本 1,734 / 15 |
| 第1楼 hirro | 发表于 2008-01-17 11:40 |
| 初级用户 发帖 16 积分 31 | |
|
[已解决]关于命令回显和写入文件的问题 初学批处理,问个小问题......俺是菜鸟别笑话俺......
想实现一个功能,ping服务器的时候希望有命令回显在窗口中并写入到一个txt文件中 如果用ping www.baidu.com >>c:\1.txt的话那ping的结果不会显示在窗口中而是直接写入到文件里 是不是能够实现既在窗口中有回显又同时写入文件呢? 各位大大帮帮小弟,谢了:P [ Last edited by hirro on 2008-1-21 at 08:52 AM ] |
|
| 第2楼 fastslz | 发表于 2008-01-17 12:19 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
for /f "delims=" %%a in ('ping www.baidu.com') do echo.%%a&echo.%%a>>c:\1.txt
|
|
| 第3楼 hirro | 发表于 2008-01-17 12:42 |
| 初级用户 发帖 16 积分 31 | |
|
谢谢fastslz的回答
不过效果并不是我想要的 我希望在ping的同时显示结果,就像一般在cmd里直接输入ping命令那样的逐行显示结果,然后将结果写入文本 fastslz的回答是在ping命令结束以后才输出结果并写入文件 不知道能不能实现....... [ Last edited by hirro on 2008-1-17 at 12:50 PM ] |
|
| 第4楼 fastslz | 发表于 2008-01-17 13:05 |
| 铂金会员 发帖 2,315 积分 5,493 来自 上海 | |
|
那就不是菜鸟问题了,借助第3方工具,搜下贴,站长曾经推荐过某第3方工具
|
|
| 第5楼 zh159 | 发表于 2008-01-17 13:53 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
只能找比尔修改ping了,第三方工具也是将ping的输出结果类似for方式回显和写入文件
|
|
| 第6楼 huahua0919 | 发表于 2008-01-17 14:05 |
| 银牌会员 发帖 780 积分 1,608 | |
|
如果你鱼和熊掌想兼得,那就多写一遍
[ Last edited by huahua0919 on 2008-1-17 at 02:10 PM ] |
|
| 第7楼 lxmxn | 发表于 2008-01-18 01:14 |
| 版主 发帖 4,938 积分 11,386 | |
|
搜索tee。
|
|
| 第8楼 HAT | 发表于 2008-01-18 12:58 |
| 版主 发帖 5,017 积分 9,023 | |
| 第9楼 hirro | 发表于 2008-01-18 14:59 |
| 初级用户 发帖 16 积分 31 | |
|
谢谢各位的帮助,看了willsort的那篇透彻的分析学到了很多,希望的功能也得以实现
|
|
| 第10楼 429499381 | 发表于 2008-01-18 18:57 |
| 中级用户 发帖 202 积分 452 | |
|
@echo off & color 9c
:start set /a a=a+1 ping www.baidu.com >c:\1.txt for /f "delims=" %%a in (c:\1.txt) do echo.%%a 2<nul & ping -n 2 127.0.0.1>nul if "%a%"=="2" cls goto start 依我的理解,这个也许能满足你的要求 , 不过有一点小问题, 就是有文本的前3个字符无法显示, 也不知道怎么回事。 可能根FOR运行机制有关, 好好看看去 |
|
| 第11楼 zh159 | 发表于 2008-01-18 19:32 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
不知LS的为何用“ 2<nul ”,去掉就能正常显示了
|
|
| 第12楼 429499381 | 发表于 2008-01-18 19:49 |
| 中级用户 发帖 202 积分 452 | |
|
2<nul 是测试的时候忘了去掉, 并不影响什么, 去掉之后结果还是一样
前几个字符无法显示, 你的结果如何呢?? |
|
| 第13楼 zh159 | 发表于 2008-01-18 22:20 |
| 金牌会员 发帖 1,467 积分 3,687 | |
|
我一直提倡“&、&&、||”使用的时候两边不要空出不必要的空格
“echo.%%a &”空格越多缺的字符越多,很奇怪 |
|
| 第14楼 429499381 | 发表于 2008-01-19 07:14 |
| 中级用户 发帖 202 积分 452 | |
|
呵呵 , 经过提示, 发现更好玩的东西
@echo off & color 9c :start set /a a=a+1 ping www.baidu.com >c:\1.txt for /f "delims=" %%a in (c:\1.txt) do echo.%%a%%a....%%a& ping -n 1 127.0.0.1>nul goto start 不知道有没有人提到过, 呵呵, 如果想找回丢失的字符, 可以看看下面的 @echo off & color 9c :start set /a a=a+1 ping www.baidu.com >c:\1.txt for /f "delims=" %%a in (c:\1.txt) do echo.%%a%%a %%a& ping -n 1 127.0.0.1>nul goto start 大家慢慢体会, 说不定会有更好玩的东西呢!! :) |
|
| 第15楼 429499381 | 发表于 2008-01-19 07:21 |
| 中级用户 发帖 202 积分 452 | |
|
再试试这个
@echo off & color 9c :start set /a a=a+1 ping www.baidu.com >c:\1.txt for /f "delims=" %%a in (c:\1.txt) do echo.%%a 12345678901234567 & ping -n 1 127.0.0.1>nul goto start |
|
| 1 2 下一页 |
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |