标题: [文本处理] [已解决]批处理ECHO处于打开状态的问题 [打印本页]
作者: lovealei 时间: 2018-4-29 16:07 标题: [已解决]批处理ECHO处于打开状态的问题
- set /p a=<j.txt
- set /a b=%a%+1
- echo %b%>j.txt
- pause
复制代码
上面这个是个简单的统计,但为什么我运行时输出到文件就会提示 ECHO 处于打开状态的问题,但实际上是有数值的呀,最近头晕弄不清楚,那里错了?
作者: yhcfsr 时间: 2018-4-29 17:36
从语法上来,这段代码并无问题。
如果你想读取文本首行并+1,输出到源文本,不妨这样改:复制代码
当然这样做输出后的源文本只有修改后的一行而已。
建议把代码全贴出来,把你的意图也写出来,最好源文件也贴上来。
作者: lovealei 时间: 2018-4-30 08:49
回复 2# yhcfsr
我的需求就是做一个简单计数,每运行一次计数加1,加了括号就不会报错了,谢谢
作者: m91opse 时间: 2018-4-30 11:52
大哥,怎么解决的?
作者: bbaa 时间: 2018-4-30 15:16
重定向背锅复制代码
作者: lovealei 时间: 2018-5-1 09:48
本帖最后由 lovealei 于 2018-5-1 09:50 编辑
回复 4# m91opse
(echo %b%)>j.txt
>j.txt echo %b%
这两个都可以的
作者: m91opse 时间: 2018-5-5 00:22
本帖最后由 m91opse 于 2018-5-5 00:32 编辑
真的好东西,与大家分享才是有无限价值的,才是王道。赞赞赞!
楼上几位大哥,我用在别的批处理里面,非常好
但是,表达还是不够强大。给下面2段代码这个符号>在加一个使之变成这样>>,表达将会非常强大,哈哈。我测试了好几遍,才得出的结果。
附上代码
(echo %b%)>>j.txt
>>j.txt echo %b%
作者: m91opse 时间: 2018-5-5 00:23
本帖最后由 m91opse 于 2018-5-9 22:06 编辑
- @echo off&setlocal enabledelayedexpansion
-
- set y1=100
- set y2=
- set y3=
- set y4=
- set y5=
- set y6=
- set y7=
- set y8=
- set y9=
- set y10=
- set y11=
- set y12=
-
-
- for %%a in (%y1% %y2% %y3% %y4% %y5% %y6% %y7%
- %y8% %y9% %y10% %y11% %y12%) do if "%%a" neq "" (
- if not defined sum ( set "sum=%%a" ) else (
- set "sum=!sum!+%%a"
- )
- )
- for /f %%a in ('powershell -c "%sum%"') do set sum=%%a
-
- echo ==============================================
-
- echo 2017年盈亏情况= %sum%元
-
- echo ==============================================
-
- (echo ==============================================)>>j.txt
- (echo 2017年盈亏情况= %sum%元)>>j.txt
- (echo ==============================================)>>j.txt
-
- pause
复制代码
作者: m91opse 时间: 2018-5-5 00:25
本帖最后由 m91opse 于 2018-5-18 22:54 编辑
- @echo off&setlocal enabledelayedexpansion
-
- set y1=100
- set y2=
- set y3=
- set y4=
- set y5=
- set y6=
- set y7=
- set y8=
- set y9=
- set y10=
- set y11=
- set y12=
-
-
- for %%a in (%y1% %y2% %y3% %y4% %y5% %y6% %y7%
- %y8% %y9% %y10% %y11% %y12%) do if "%%a" neq "" (
- if not defined sum ( set "sum=%%a" ) else (
- set "sum=!sum!+%%a"
- )
- )
- for /f %%a in ('powershell -c "%sum%"') do set sum=%%a
-
- echo ==============================================
-
- echo 2017年盈亏情况= %sum%元
-
- echo ==============================================
-
- >>j.txt echo ==============================================
- >>j.txt echo 2017年盈亏情况= %sum%元
- >>j.txt echo ==============================================
-
- pause
复制代码
作者: m91opse 时间: 2018-5-5 00:26
这样效果就更加完全现实了,很碧真了。哈哈 赞赞赞
作者: m91opse 时间: 2018-5-5 00:37
大哥,求教个问题吧?http://www.bathome.net/thread-47992-1-1.html
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |