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

[文本处理] [已解决]批处理ECHO处于打开状态的问题

  1. set /p a=<j.txt
  2. set /a b=%a%+1
  3. echo %b%>j.txt
  4. pause
复制代码
上面这个是个简单的统计,但为什么我运行时输出到文件就会提示 ECHO 处于打开状态的问题,但实际上是有数值的呀,最近头晕弄不清楚,那里错了?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

大哥,求教个问题吧?http://www.bathome.net/thread-47992-1-1.html

TOP

这样效果就更加完全现实了,很碧真了。哈哈 赞赞赞

TOP

本帖最后由 m91opse 于 2018-5-18 22:54 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set y1=100
  3. set y2=
  4. set y3=
  5. set y4=
  6. set y5=
  7. set y6=
  8. set y7=
  9. set y8=
  10. set y9=
  11. set y10=
  12. set y11=
  13. set y12=
  14. for %%a in (%y1% %y2% %y3% %y4% %y5% %y6% %y7%
  15. %y8% %y9% %y10% %y11% %y12%) do if "%%a" neq "" (
  16.         if not defined sum (  set "sum=%%a" ) else (
  17.         set "sum=!sum!+%%a"
  18.         )
  19. )
  20. for /f %%a in ('powershell -c "%sum%"') do set sum=%%a
  21. echo                      ==============================================
  22. echo                                2017年盈亏情况= %sum%元
  23. echo                      ==============================================
  24. >>j.txt  echo ==============================================
  25. >>j.txt  echo         2017年盈亏情况= %sum%元
  26. >>j.txt  echo ==============================================
  27. pause
复制代码

TOP

本帖最后由 m91opse 于 2018-5-9 22:06 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set y1=100
  3. set y2=
  4. set y3=
  5. set y4=
  6. set y5=
  7. set y6=
  8. set y7=
  9. set y8=
  10. set y9=
  11. set y10=
  12. set y11=
  13. set y12=
  14. for %%a in (%y1% %y2% %y3% %y4% %y5% %y6% %y7%
  15. %y8% %y9% %y10% %y11% %y12%) do if "%%a" neq "" (
  16.         if not defined sum (  set "sum=%%a" ) else (
  17.         set "sum=!sum!+%%a"
  18.         )
  19. )
  20. for /f %%a in ('powershell -c "%sum%"') do set sum=%%a
  21. echo                      ==============================================
  22. echo                                2017年盈亏情况= %sum%元
  23. echo                      ==============================================
  24. (echo ==============================================)>>j.txt
  25. (echo         2017年盈亏情况= %sum%元)>>j.txt
  26. (echo ==============================================)>>j.txt
  27. pause
复制代码

TOP

本帖最后由 m91opse 于 2018-5-5 00:32 编辑

真的好东西,与大家分享才是有无限价值的,才是王道。赞赞赞!
楼上几位大哥,我用在别的批处理里面,非常好
但是,表达还是不够强大。给下面2段代码这个符号>在加一个使之变成这样>>,表达将会非常强大,哈哈。我测试了好几遍,才得出的结果。
附上代码
(echo %b%)>>j.txt

>>j.txt  echo %b%

TOP

本帖最后由 lovealei 于 2018-5-1 09:50 编辑

回复 4# m91opse


(echo %b%)>j.txt

>j.txt  echo %b%

这两个都可以的
1

评分人数

TOP

重定向背锅
  1. >j.txt echo %b%
复制代码
2

评分人数

TOP

大哥,怎么解决的?

TOP

回复 2# yhcfsr


    我的需求就是做一个简单计数,每运行一次计数加1,加了括号就不会报错了,谢谢

TOP

从语法上来,这段代码并无问题。
如果你想读取文本首行并+1,输出到源文本,不妨这样改:
  1. (echo %b%)>j.txt
复制代码
当然这样做输出后的源文本只有修改后的一行而已。
建议把代码全贴出来,把你的意图也写出来,最好源文件也贴上来。
1

评分人数

TOP

返回列表