中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已解决]关于命令回显和写入文件的问题
« [1] [2] »
作者:
标题: [已解决]关于命令回显和写入文件的问题 上一主题 | 下一主题
hirro
初级用户





积分 31
发帖 16
注册 2005-8-5
状态 离线
『楼 主』:  [已解决]关于命令回显和写入文件的问题

初学批处理,问个小问题......俺是菜鸟别笑话俺......

想实现一个功能,ping服务器的时候希望有命令回显在窗口中并写入到一个txt文件中
如果用ping www.baidu.com >>c:\1.txt的话那ping的结果不会显示在窗口中而是直接写入到文件里
是不是能够实现既在窗口中有回显又同时写入文件呢?

各位大大帮帮小弟,谢了:P

[ Last edited by hirro on 2008-1-21 at 08:52 AM ]

2008-1-17 11:40
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 2 楼』:  

for /f "delims=" %%a in ('ping www.baidu.com') do echo.%%a&echo.%%a>>c:\1.txt



第一高手    第二高手

2008-1-17 12:19
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
hirro
初级用户





积分 31
发帖 16
注册 2005-8-5
状态 离线
『第 3 楼』:  

谢谢fastslz的回答
不过效果并不是我想要的
我希望在ping的同时显示结果,就像一般在cmd里直接输入ping命令那样的逐行显示结果,然后将结果写入文本
fastslz的回答是在ping命令结束以后才输出结果并写入文件
不知道能不能实现.......

[ Last edited by hirro on 2008-1-17 at 12:50 PM ]

2008-1-17 12:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
fastslz
铂金会员

DOS一根葱


积分 5493
发帖 2315
注册 2006-5-1
来自 上海
状态 离线
『第 4 楼』:  

那就不是菜鸟问题了,借助第3方工具,搜下贴,站长曾经推荐过某第3方工具



第一高手    第二高手

2008-1-17 13:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 5 楼』:  

只能找比尔修改ping了,第三方工具也是将ping的输出结果类似for方式回显和写入文件



2008-1-17 13:53
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 6 楼』:  

如果你鱼和熊掌想兼得,那就多写一遍
ping www.baidu.com&ping www.baidu.com >c.txt
[ Last edited by huahua0919 on 2008-1-17 at 02:10 PM ]

2008-1-17 14:05
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  

搜索tee。

2008-1-18 01:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  

willsort大侠已经分析的很透彻了

http://www.cn-dos.net/forum/view ... ight=tee&page=2

2008-1-18 12:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
hirro
初级用户





积分 31
发帖 16
注册 2005-8-5
状态 离线
『第 9 楼』:  

谢谢各位的帮助,看了willsort的那篇透彻的分析学到了很多,希望的功能也得以实现

2008-1-18 14:59
查看资料  发短消息 网志   编辑帖子  回复  引用回复
429499381
中级用户





积分 452
发帖 202
注册 2006-12-21
状态 离线
『第 10 楼』:  

@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运行机制有关, 好好看看去

2008-1-18 18:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 11 楼』:  

不知LS的为何用“ 2<nul ”,去掉就能正常显示了



2008-1-18 19:32
查看资料  发短消息 网志   编辑帖子  回复  引用回复
429499381
中级用户





积分 452
发帖 202
注册 2006-12-21
状态 离线
『第 12 楼』:  

2<nul 是测试的时候忘了去掉,  并不影响什么, 去掉之后结果还是一样

前几个字符无法显示, 你的结果如何呢??

2008-1-18 19:49
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 13 楼』:  

我一直提倡“&、&&、||”使用的时候两边不要空出不必要的空格

“echo.%%a  &”空格越多缺的字符越多,很奇怪

   此帖被 +2 点积分    点击查看详情   
评分人:【 429499381 分数: +2  时间:2008-1-19 07:14




2008-1-18 22:20
查看资料  发短消息 网志   编辑帖子  回复  引用回复
429499381
中级用户





积分 452
发帖 202
注册 2006-12-21
状态 离线
『第 14 楼』:  

呵呵 , 经过提示, 发现更好玩的东西

@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%]..%%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

大家慢慢体会, 说不定会有更好玩的东西呢!! :)

2008-1-19 07:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
429499381
中级用户





积分 452
发帖 202
注册 2006-12-21
状态 离线
『第 15 楼』:  

再试试这个  

@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

2008-1-19 07:21
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
« [1] [2] »
请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: