原帖由 ejzhang 于 2009-7-1 21:42 发表
上面代码如果n是空的时候也会判断为数字,照下面这样写就不会了(注意红色部分)
for /f "delims=1234567890" %%a in ("@%n%@") do if %%a==@ (echo 纯数字) else echo 不是纯数字
看了一下发现有问题。前后加@或其他字符都不好使。 象 [email=n=@123]n=@123[/email] 123@,加两个@就更不行了。象1243awfasf 都会判为纯数字,但如果什么也不加,则不会执行do 后边语句, 所以修正如下:
- @echo off
- set/p n=输入一个数字:
- if not "%n%"=="" (
- for /f "delims=1234567890" %%a in ("%n%") do echo 不是纯数字&pause&goto :eof
- ) else echo 为空
- echo 纯数字
- pause
复制代码
[ 本帖最后由 inittab 于 2009-7-1 22:33 编辑 ] |