好的,所以我已经完成了我的批处理程序“stringparsing.bat”,我遇到问题的最后一个错误就是当我使用下面的片段时说“缺少运算符”:
set /p linecount=
cls
set foo=0
set linenumber=0
:lineset
set /a linenumber=%linenumber% +1
set /p line1= %linenumber%
echo %line1% >> %name%.txt
set /a foo=%foo%+1
set /a line number=%linenumber%+1
IF %foo%==%linecount% goto MAIN123
goto lineset
更具体地说,我把它缩小到:
set /a linenumber=%linenumber% +1
set /p line1= %linenumber%
我很确定我错误地使用了 set / p 命令...我想要做的是,做一个提示,要求用户输入它们是多少行文本要插入文本文件。然后创建一个循环,要求用户键入一些文本,然后将其发送到文本文件。但我想在提示符之前输入行号,以便它看起来像这样:
因此,当批处理文件要求第一行时,它会显示1:,当它要求第二行时,它会显示2:,依此类推。在每一行提示后,我得到“遗失的运算符”错误消息...顺便说一下,我需要使用这个scirpt让它工作:
set / p line1 =%linenumber%+ 1
但是为了在最后使用带有 +1 的命令,我是否必须添加 / a 参数以及 / p 参数?
有什么想法吗?
答案 0 :(得分:3)
一个简单的回显可以帮助: - )
在您的行设置/行号=%linenumber%+ 1 是空格亚麻布,这是一个问题。
另一方面,使用
是不必要的set /a linenumber=%linenumber% +1
最好使用
set /a linenumber=linenumber+1
or
set /a linenumber+=1