Board logo

标题: [文本处理] 批处理无法循环输出指定内容到同一文本是什么原因 [打印本页]

作者: tui哈朗    时间: 2016-10-10 17:30     标题: 批处理无法循环输出指定内容到同一文本是什么原因

本帖最后由 pcl_test 于 2016-10-10 20:42 编辑

小学一年级水平 求教
代码如下
  1. :1
  2. echo 2>>1.txt
  3. type 1.txt>>1.txt
  4. goto 1
复制代码
如果1.txt为空文本就写不出数据 如果是非空文本则会将内容无限循环复制粘贴 不是很懂这个原理 难道不该写出22222222222么
作者: happy886rr    时间: 2016-10-10 17:54

回复 1# tui哈朗
  1. echo 单个数字直接跟>就会当成流作废
复制代码

作者: GNU    时间: 2016-10-10 18:44

  1. :1
  2. >>1.txt echo 2
  3. >>1.txt type 1.txt
  4. goto 1
复制代码

作者: Bella    时间: 2016-10-10 19:57

本帖最后由 Bella 于 2016-10-10 20:11 编辑

因为echo会添加换行符
变量长度貌似不能超过8180
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set s=2
  4. for /l %%i in (1,1,12) do set s=!s!!s!
  5. echo %s%>o.txt
复制代码

作者: tui哈朗    时间: 2016-10-10 21:49

回复 2# happy886rr


    能具体说说么 如果我的文本1.txt非空这个命令就可以输出 原因何在呢
比如 我得文本里是123 这个批处理命令就会无限循环输出123123123123... ...
作者: tui哈朗    时间: 2016-10-10 21:51

回复 3# GNU


    谢过大神 能简单讲讲为什么我用的代码不行呢?
作者: futurer    时间: 2016-10-11 07:19

回复 6# tui哈朗


    2L不是已经说得很清楚了吗?重定向用法不对
作者: GNU    时间: 2016-10-11 08:37

回复 6# tui哈朗

1是STDOUT,2是STDERR
http://bbs.bathome.net/thread-3296-1-1.html
作者: tui哈朗    时间: 2016-10-11 09:40

回复 8# GNU


    多谢!




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2