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

[文本处理] [已解决]批处理命令echo+ >> 空格问题

本帖最后由 guoguo163 于 2021-9-8 17:06 编辑

一个config.ini配置文件
  1. [tab]
  2. max=10
  3. [config]
  4. mute=0
复制代码
执行echo 命令在尾部添加
  1. echo+ >> config.ini
  2. echo [ins]>> config.ini
  3. echo fee=123 >> config.ini
复制代码
这个是一个示例文件,第二个人拿这个示例文件需要生成很多 fee=xxx 的不同文件
写了如下批处理
  1. set newline=fee=%1
  2. for /f "delims=" %%a in ('findstr "fee=" config.ini')do (
  3. for /f "delims=" %%i in ('type "config.ini"') do (
  4. if %%i==%%a (echo %newline%>>newconfig.ini)else echo %%i>>newconfig.ini ) )
  5. pause
复制代码
问题来了,修改的文件会出现很多ECHO 处于打开状态。
仔细看了,原来echo+ >> config.ini 会插入一个空格的空行,导致替换到这行参数空值。
如何避免产生ECHO 处于打开状态。 或者 ECHO+ >> 空格问题

回复 1# guoguo163


参考:Q-09: echo 命令重定向写入文本行尾有多余的空格
https://mp.weixin.qq.com/s/6lbb97qUOs1sTyKJfN0ZEQ

参考:批处理动态生成脚本或文件
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

回复 2# Batcher


    感谢管理员帮助。
    echo+ >> config.ini  改成
    >>config.ini  echo+   解决换行前面空格问题,导致循环取空值问题

TOP

返回列表