[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
【补充】需要向一个文件写入多行内容时,需要注意的几个地方。

例如需要把以下内容写入 test.txt
on
1
bathome
2
net
3

很多人为了防止数字后面紧跟重定向符号会被当做句柄而无法正常写入文件,会在行尾添加一个额外的空格:
  1. echo bbs >test.txt
  2. echo 1 >>test.txt
  3. echo bathome >>test.txt
  4. echo 2 >>test.txt
  5. echo net >>test.txt
  6. echo 3 >>test.txt
复制代码
但是在某些特殊的场景下,这个行尾多余的空格是不被允许的,可能导致其他程序处理txt的时候出错。

解决的方法之一是把重定向符号写在前面:
  1. >test.txt  echo bbs
  2. >>test.txt echo 1
  3. >>test.txt echo bathome
  4. >>test.txt echo 2
  5. >>test.txt echo net
  6. >>test.txt echo 3
复制代码
可以进一步改进的地方是,加上括号,一是可以避免重复写那么多遍文件名,而是可以提高代码执行速度:
  1. (echo bbs
  2. echo 1
  3. echo bathome
  4. echo 2
  5. echo net
  6. echo 3
  7. )>test.txt
复制代码
如果遇到包含很多特殊字符的文本,可以参考这篇文章里面 findstr + more 的方法来写入文件:
https://mp.weixin.qq.com/s/McvY4CiR-SYGaCha7lmjIw
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表