[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

添加代码把所有输出(包括正常输出和错误反馈)都写入一个文件如 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
1

评分人数

  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 编辑 ]
1

评分人数

    • wxcute: 鼓励下。嗯,是审错了,以上代码是要运行的PB + 1
目的,学习批处理

TOP

如果理解的没错应该是这样吧
  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 编辑 ]
1

评分人数

TOP

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

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

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

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

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

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

TOP

一是需要经验的积累,二是需要对句柄和重定向等理论知识的掌握。
这个对于新人来说似乎有点难度哦^_^
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

论坛就有例子,就像在野外生存一样,找得到的吃的的人才不会饿死。哈哈。

TOP

太难了,过段时间再来
找到一篇文章,不过不太懂,其中有半个答案,看懂拉我想就是整个拉

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

TOP

这样?

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

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

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

评分人数

TOP

这样就好

  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 编辑 ]
1

评分人数

    • wxcute: 厉害,加十分。请把代码 code 起来,方便大 ...PB + 10

TOP

楼上真强大
@符号的作用是什么呢
取消本条命令的回显,想起来了,不好意思

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

TOP

大家还可以想,虽然方法与 9  楼可能类似。

TOP

还有点问题,先发一下
  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 编辑 ]
1

评分人数

    • wxcute: 搞得好复杂,不过这样都能弄出来也不简单呢PB + 8

TOP

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

评分人数

    • wxcute: 你试验一下就晓得了,开头加行 @echo off 应 ...PB + 5

TOP

  1. call :loop >>a.txt
  2. :loop
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
复制代码
但是没有错误提示的那句
1

评分人数

    • wxcute: 因为错误输出要靠句柄2来完成的。PB + 2

TOP

  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
复制代码
貌似会多一行...

TOP

返回列表