标题: [文本处理] [已解决]批处理提示找不到操作数 [打印本页]
作者: wkdxz 时间: 2009-8-5 17:27 标题: [已解决]批处理提示找不到操作数
文件用来批量建立空文本-
- @echo off
- echo\&echo/
- @set /p x= 请输入你要新建空文本的个数:
- set /a y=%x%+1
- :1
- set /a a=1
- set /a a=%b%
- set /a b=%a%+1
- @cd.>%b%.txt
- @if exist %y%.txt (
- exit
- ) else (
- goto 1)
复制代码
今天没事编了个批处理,但文件数目输入后会提示“找不到操作数”,请高手帮忙解决下这问题。
[ 本帖最后由 wkdxz 于 2009-8-6 09:34 编辑 ]
作者: batman 时间: 2009-8-5 17:38
&&就“找不到操作数”这个提示而言,问题是出在set /a a=%b%这句上,因为%b%在事
先并没有被定义,所以set /a会提示找不到操作数。但楼主的问题显然不只这一个,在此也
就不一一评述了,直接修改代码如下:- @echo off
- set /p num=请输入要创建的空文本个数:
- for /l %%a in (1,1,%num%) do cd.>%%a.txt
复制代码
作者: BBCC 时间: 2009-8-5 17:52
/A 命令行开关指定等号右边的字符串为被评估的数字表达式。
而楼主的set /a a=%b%,因为变量b在之前没有被初始化,因而值是null(空),所以不是合法的数字表达式,因而发生错误。
给个小建议,下次在调试代码的时候,可以先echo on,当发现代码错误的时候,可以查看是哪条命令执行出错,之后可以对相关命令 /?查看系统帮助(虽然中文的帮助比较蹩脚),改正代码,这样有助于提高效率以及加快学习进度。
祝楼主学习愉快,别忘了要加上已解决的符号哦。
//
插个话,为什么batman回帖开头总有两个&&
作者: wkdxz 时间: 2009-8-6 09:31
谢谢2楼的高质量答案和3楼的指教。看来得好好学学FOR命令了。短小,强大!~
我得再给命令加一个开关,要不生成文件存在,就不能再生成了。
[ 本帖最后由 wkdxz 于 2009-8-6 09:34 编辑 ]
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |