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

[文本处理] [已解决]批处理提示找不到操作数

文件用来批量建立空文本
  1. @echo off
  2. echo\&echo/
  3. @set /p x=   请输入你要新建空文本的个数:
  4. set /a y=%x%+1
  5. :1
  6. set /a a=1
  7. set /a a=%b%
  8. set /a b=%a%+1
  9. @cd.>%b%.txt
  10. @if exist %y%.txt (
  11. exit
  12. ) else (
  13. goto 1)
复制代码
今天没事编了个批处理,但文件数目输入后会提示“找不到操作数”,请高手帮忙解决下这问题。

[ 本帖最后由 wkdxz 于 2009-8-6 09:34 编辑 ]

&&就“找不到操作数”这个提示而言,问题是出在set /a a=%b%这句上,因为%b%在事
先并没有被定义,所以set /a会提示找不到操作数。但楼主的问题显然不只这一个,在此也
就不一一评述了,直接修改代码如下:
  1. @echo off
  2. set /p num=请输入要创建的空文本个数:
  3. for /l %%a in (1,1,%num%) do cd.>%%a.txt
复制代码
***共同提高***

TOP

/A 命令行开关指定等号右边的字符串为被评估的数字表达式。

而楼主的set /a a=%b%,因为变量b在之前没有被初始化,因而值是null(空),所以不是合法的数字表达式,因而发生错误。

给个小建议,下次在调试代码的时候,可以先echo on,当发现代码错误的时候,可以查看是哪条命令执行出错,之后可以对相关命令 /?查看系统帮助(虽然中文的帮助比较蹩脚),改正代码,这样有助于提高效率以及加快学习进度。

祝楼主学习愉快,别忘了要加上已解决的符号哦。

//
插个话,为什么batman回帖开头总有两个&&
for /f "delims=" %%a in ('%0') do (echo %%a)

TOP

谢谢2楼的高质量答案和3楼的指教。看来得好好学学FOR命令了。短小,强大!~
我得再给命令加一个开关,要不生成文件存在,就不能再生成了。

[ 本帖最后由 wkdxz 于 2009-8-6 09:34 编辑 ]
1

评分人数

    • batman: 感谢主动给标题标注[已解决]字样PB + 2

TOP

返回列表