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

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

[复制链接]
发表于 2009-11-12 15:42:53 | 显示全部楼层
  1. @echo off
  2. goto :b
  3. :a
  4. echo 批处理之家
  5. Link2Bathome
  6. set/p=不要想当然,回到正途吧。<nul
  7. echo BBS.bathome.net
  8. :b
  9. call :a>> a.txt 2>&1
  10. pause>nul
复制代码
发表于 2010-7-28 21:40:32 | 显示全部楼层
  1. @echo off
  2. @echo off
  3. (echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net) 1>t.txt 2>&1
复制代码


[ 本帖最后由 qq106942397 于 2010-7-28 21:43 编辑 ]
发表于 2010-7-31 15:42:24 | 显示全部楼层
为了使代码具有良好的可读性、健壮性,实现高内聚、低耦合,我费尽脑汁历尽千辛万苦终于写成了,写的不好,各位前辈们别嘲笑我哈。。。
  1. @echo off
  2. set /a c+=1
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
  7. if %c%==1 call %0 >>a.txt 2<&1
复制代码
如有错误,还请多多批评指正,晚辈不才,在此多谢了。。。
发表于 2010-9-2 12:47:06 | 显示全部楼层
各位代码中的2>&1
是啥含义 请告知谢谢
发表于 2011-1-1 00:17:26 | 显示全部楼层
  1. for /f "delims=" %%a in ('more +1 "%~nx0"') do (%%a >>a.txt)&(%%a 2>>a.txt)
  2. echo 批处理之家
  3. Link2Bathome
  4. set/p=不要想当然,回到正途吧。<nul
  5. echo BBS.bathome.net
复制代码

[ 本帖最后由 vincentzhou 于 2011-1-1 00:40 编辑 ]
发表于 2011-1-4 16:07:10 | 显示全部楼层
@echo off
echo, 1>nul 3>a.txt
echo, 2>nul 4>&1
echo 批处理之家
Link2Bathome
set/p=不要想当然,回到正途吧。<nul
echo BBS.bathome.net
发表于 2011-3-8 04:25:27 | 显示全部楼层
我来看看 刚来 还不是很懂啊
发表于 2011-3-9 08:54:04 | 显示全部楼层
修改了三楼的方案,加上" ^" 可以完整的输出>nul
@echo off
>a.txt echo 批处理之家
>>a.txt echo Link2Bathome
>>a.txt echo set /p=不要想当然,回到正途吧。^>nul
>>a.txt echo BBS.bathome.net
pause>nul
发表于 2011-6-13 23:38:35 | 显示全部楼层

  1. echo echo 批处理之家 >>a.txt
  2. echo Link2Bathome >>a.txt
  3. echo set/p=不要想当然,回到正途吧。^<nul >>a.txt
  4. echo echo BBS.bathome.net >>a.txt
复制代码
不知道这样符合题目要求不
发表于 2011-7-19 17:08:29 | 显示全部楼层
1# wxcute
  1. @echo off
  2. (
  3. echo echo 批处理之家
  4. echo Link2Bathome
  5. echo set/p=不要想当然,回到正途吧。^<nul
  6. echo echo BBS.bathome.net
  7. )>a.txt
  8. pause
复制代码
发表于 2011-8-4 11:21:12 | 显示全部楼层
回复 19# leap
我也看了半天纠结中。
查了一下,

2代表运行出错
>输出重定向
&1代表正确运行时输出的文件,这里是a.txt
连起来的意思是把运行错误的信息也输入到运行正确的输出文件中。
如果没有这段,那么前面的代码中运行出错的行将不会输出到a.txt
就是这样子的。
发表于 2012-8-31 11:21:36 | 显示全部楼层
多看看果然好,有知道了一个2>&1的作用了,把标准错误重定向到标准输出,这样就能显示错误反馈信息了
发表于 2013-4-25 23:41:38 | 显示全部楼层
  1. cd.>a.txt
  2. (
  3. echo 批处理之家
  4. Link2Bathome
  5. set/p=不要想当然,回到正途吧。<nul
  6. echo BBS.bathome.net
  7. ) 1>>a.txt 2>&1
复制代码
发表于 2023-4-25 10:14:43 | 显示全部楼层
@echo off
>a.txt (
echo 批处理之家
Link2Bathome
set/p=不要想当然,回到正途吧。<nul
echo BBS.bathome.net
)
发表于 2023-4-25 10:18:22 | 显示全部楼层
@echo off
call :sub > a.txt
:sub
echo 批处理之家
Link2Bathome
set/p=不要想当然,回到正途吧。<nul
echo BBS.bathome.net
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 00:56 , Processed in 0.021053 second(s), 6 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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