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

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

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

麻烦看看!

TOP

善用搜索。
问题1:搜索 句柄
问题2:问百度
赞成“拿来主义”,但是鄙视“伸手党”

TOP

%的转义字符不是^是%
本人已死!不用联系!~
要联系下来联系!~~

TOP

问题        解决地址
1           http://www.bathome.net/viewthrea ... hlight=%BE%E4%B1%FA
2           http://www.bathome.net/viewthrea ... highlight=%2B%B5%C4
枫中残雪:风停了,我的心却在动,让我心中的寒意走向远方

TOP

本帖最后由 szjwxn 于 2011-12-16 20:56 编辑

问题1.这样就可以了,在1后面空一个空格
  1. @echo off
  2. echo 1 >1.txt
复制代码
问题2.
这个是批处理这样规定的,就是一种规范,必须这样写。

TOP

楼上正解……

TOP

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

评分人数

TOP

返回列表