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

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

本帖最后由 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么
1

评分人数

    • pcl_test: 勿发笼统无意义的标题PB -2

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

TOP

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

TOP

本帖最后由 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
复制代码

TOP

回复 2# happy886rr


    能具体说说么 如果我的文本1.txt非空这个命令就可以输出 原因何在呢
比如 我得文本里是123 这个批处理命令就会无限循环输出123123123123... ...

TOP

回复 3# GNU


    谢过大神 能简单讲讲为什么我用的代码不行呢?

TOP

回复 6# tui哈朗


    2L不是已经说得很清楚了吗?重定向用法不对

TOP

回复 6# tui哈朗

1是STDOUT,2是STDERR
http://bbs.bathome.net/thread-3296-1-1.html

TOP

回复 8# GNU


    多谢!

TOP

返回列表