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

[其他] 批处理为什么无法echo输出数字1到文本

[复制链接]
发表于 2011-12-16 14:05:39 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-11-16 01:46 编辑

问题1:在dos中输入echo 1>D:\aa.txt后回车。打开aa.txt看不到1,只有“echo 处于打开状态”。试验了只要echo后面跟0-9之间的整数输出到一个文本文件都不成功,必须要加转意符^,请教为什么?
问题2:还有为什么在dos中直接输命令时有些变量只要加一个百分号,如%i,而在.bat中编辑时要写两个呢?,如%%i。
 楼主| 发表于 2011-12-16 14:10:26 | 显示全部楼层
麻烦看看!
发表于 2011-12-16 14:16:28 | 显示全部楼层
善用搜索。
问题1:搜索 句柄
问题2:问百度
发表于 2011-12-16 16:14:56 | 显示全部楼层
%的转义字符不是^是%
发表于 2011-12-16 17:42:42 | 显示全部楼层
问题        解决地址
1           http://www.bathome.net/viewthrea ... hlight=%BE%E4%B1%FA
2           http://www.bathome.net/viewthrea ... highlight=%2B%B5%C4
发表于 2011-12-16 20:53:03 | 显示全部楼层
本帖最后由 szjwxn 于 2011-12-16 20:56 编辑

问题1.这样就可以了,在1后面空一个空格

  1. @echo off
  2. echo 1 >1.txt
复制代码
问题2.
这个是批处理这样规定的,就是一种规范,必须这样写。
发表于 2011-12-16 22:40:49 | 显示全部楼层
楼上正解……
发表于 2011-12-16 23:13:17 | 显示全部楼层
对6楼方法插句嘴,问题1 它是在空格加单个数字结尾时会发生这种情况,如果不介意写入到文本中那1后多了个空格,在>前加个空格是可以的,楼主用加转义符^倒是个严谨的方法,但有时并不方便给这最后一个字符加 ^ 可以改成这两种方法:
  1. >1.txt echo 1
复制代码
  1. (echo 1)>1.txt
复制代码
而问题2当然可以认为是一种规定,但实际上要提高批处理水平,需要理解处理过程,应该解释为在批处理中比命令行多了一次预处理过程,应该看看有关教程

评分

参与人数 1技术 +1 收起 理由
Hello123World + 1 乐于助人

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 15:01 , Processed in 0.013446 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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