找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 69750|回复: 30

[ 新手练习 7 ] 批处理把所有输出都写入一个文件

[复制链接]
发表于 2008-11-18 21:00:50 | 显示全部楼层 |阅读模式
添加代码把所有输出(包括正常输出和错误反馈)都写入一个文件如 a.txt。
可不按原输出信息的顺序。
要求是原代码行不能改动。
  1. echo 批处理之家
  2. Link2Bathome
  3. set/p=不要想当然,回到正途吧。<nul
  4. echo BBS.bathome.net
复制代码
方法不限。添加越少,得分越多。
上一题:[ 新手习题 6 ] 添加汉字行号
http://bbs.bathome.net/thread-2569-1-1.html

评分

参与人数 1PB +5 收起 理由
Batcher + 5 Good work!

查看全部评分

发表于 2008-11-18 21:57:47 | 显示全部楼层
  1. @echo off
  2. >>1.txt echo echo 批处理之家
  3. >>1.txt echo Link2Bathome
  4. >>1.txt echo set/p=不要想当然,回到正途吧。^<nul
  5. >>1.txt echo echo BBS.bathome.net<nul
  6. pause
复制代码
刚发现一个问题,用 [code]会将上面的^<nul没有掉,
感觉是审题错了,已经占楼了,再抹也是个疤,索性不抹了,各位别笑话啊

[ 本帖最后由 hlzj88 于 2008-11-18 22:09 编辑 ]

评分

参与人数 1PB +1 收起 理由
wxcute + 1 鼓励下。嗯,是审错了,以上代码是要运行的

查看全部评分

发表于 2008-11-19 00:14:28 | 显示全部楼层
如果理解的没错应该是这样吧
  1. @echo off
  2. >info.txt echo 批处理之家
  3. 2>>info.txt Link2Bathome
  4. >>info.txt <nul set /p=不要想当然,回到正途吧。
  5. >>info.txt echo BBS.bathome.net
复制代码
没添加pause结果直接到info.txt中查看。

[ 本帖最后由 lhjoanna 于 2008-11-19 00:24 编辑 ]

评分

参与人数 1PB +4 收起 理由
wxcute + 4 输出是正确了

查看全部评分

 楼主| 发表于 2008-11-19 10:08:14 | 显示全部楼层

楼上两位都修改了原代码行,所以暂不得分。请看题目要求第三行

要求是原代码行不能改动。

就是要原封不动的写,可以上下添加代码。

==================================

还是给大伙加分吧,新手想到一点也不容易 ^_^ 加油。

[ 本帖最后由 wxcute 于 2008-11-19 12:07 编辑 ]
发表于 2008-11-19 10:13:34 | 显示全部楼层
一是需要经验的积累,二是需要对句柄和重定向等理论知识的掌握。
这个对于新人来说似乎有点难度哦^_^
 楼主| 发表于 2008-11-19 10:20:27 | 显示全部楼层
论坛就有例子,就像在野外生存一样,找得到的吃的的人才不会饿死。哈哈。
发表于 2008-11-19 11:39:25 | 显示全部楼层
太难了,过段时间再来
找到一篇文章,不过不太懂,其中有半个答案,看懂拉我想就是整个拉

[ 本帖最后由 stalker 于 2008-11-19 11:48 编辑 ]
发表于 2008-11-19 11:58:30 | 显示全部楼层
这样?

@FOR %%a in (
"echo 批处理之家"
"Link2Bathome"
"set/p=不要想当然,回到正途吧。<nul"
"echo BBS.bathome.net" ) DO %%~a>>a.txt 2>&1

我了解意思了.那这样不对

[ 本帖最后由 sylovanas 于 2008-11-19 12:02 编辑 ]

评分

参与人数 1PB +4 收起 理由
wxcute + 4 接近……

查看全部评分

发表于 2008-11-19 12:10:21 | 显示全部楼层
这样就好

  1. @(
  2. echo 批处理之家
  3. Link2Bathome
  4. set/p=不要想当然,回到正途吧。<nul
  5. echo BBS.bathome.net
  6. )>> a.txt 2>&1
复制代码

[ 本帖最后由 sylovanas 于 2008-11-19 12:35 编辑 ]

评分

参与人数 1PB +10 收起 理由
wxcute + 10 厉害,加十分。请把代码 code 起来,方便大 ...

查看全部评分

发表于 2008-11-19 12:20:23 | 显示全部楼层
楼上真强大
@符号的作用是什么呢
取消本条命令的回显,想起来了,不好意思

[ 本帖最后由 stalker 于 2008-11-19 12:27 编辑 ]
 楼主| 发表于 2008-11-19 12:43:01 | 显示全部楼层
大家还可以想,虽然方法与 9  楼可能类似。
发表于 2008-11-19 13:43:52 | 显示全部楼层
还有点问题,先发一下
  1. @echo off
  2. echo see mine>nul 3>a.txt 2>&3 5>a.txt
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
复制代码

哇卡卡,这样就好拉

  1. @echo off
  2. echo see mine>nul 3>a.txt 2>&3 5>&3
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
复制代码

不过我想知道上面那个为什么会有点问题呢

[ 本帖最后由 stalker 于 2008-11-19 13:57 编辑 ]

评分

参与人数 1PB +8 收起 理由
wxcute + 8 搞得好复杂,不过这样都能弄出来也不简单呢

查看全部评分

发表于 2008-11-19 17:45:04 | 显示全部楼层
  1. call :a>> a.txt 2>&1

  2. :a
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
复制代码
这样行不?

评分

参与人数 1PB +5 收起 理由
wxcute + 5 你试验一下就晓得了,开头加行 @echo off 应 ...

查看全部评分

发表于 2008-12-7 19:13:44 | 显示全部楼层
  1. call :loop >>a.txt
  2. :loop
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
复制代码
但是没有错误提示的那句

评分

参与人数 1PB +2 收起 理由
wxcute + 2 因为错误输出要靠句柄2来完成的。

查看全部评分

发表于 2009-11-12 13:28:23 | 显示全部楼层
  1. @echo off&if 1%1==1 %0 1>t.txt 2>&1
  2. echo 批处理之家
  3. Link2Bathome
  4. set/p=不要想当然,回到正途吧。<nul
  5. echo BBS.bathome.net
复制代码
貌似会多一行...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-16 20:42 , Processed in 0.022845 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表