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

[数值计算] [已解决]批处理怎么对比即时输入的200个4位数?

我想做个批,不停地输入4位数,最多200个,对比之前所有输入,相同的话就提示,这个能实现吗?
产生临时文件没问题。
二楼不是我想要的
我想的大概如下
:a
1:键盘输入数,用数组array保存数加个","
2:用for 截取array对比数,相同返回:a重新输入,不相同输入文件,再返回a
问题如下
1:我输入太多,for数组会不会太慢?有么需要等?有么更好的办法?
2:屏幕下面会echo数组出来,让我知道输入多少个不相同的数了
我的浏览器出问题,在编辑帖子老是关掉,回头一看,3楼都出来了~~~
!dataSet:%%v-=!我看不明白什么意思=。=
4楼也有个!str:%%a=!~~~~~

测试下发现4楼的代码我改下就可以达到我想要的结果了,我还是想问下
for /f %%a in (",!n!,") do if "!str:%%a=!"=="!str!"
与我想到的截取for /f "delims=," %%i in %array% do if %i%==%数%   有什么区别
ok咯。嗯嗯
发下我最后的代码
  1. @echo off
  2. setlocal enableDelayedExpansion
  3. set str=,
  4. :loop
  5. set /p n=请输入数字&cls
  6. echo %n%|findstr /be "[0-9]*">nul||goto loop
  7. set n=0000!n!
  8. set n=!n:~-4!
  9. for /f %%a in (",!n!,") do if "!str:%%a=!"=="!str!" (
  10. set str=,!n!!str!
  11. set /a m+=1
  12. echo !str!
  13. echo 总共有!m!个号码
  14. ) else (
  15. echo 已存在!n!
  16. echo !str!
  17. echo 总共有!m!个号码
  18. )
  19. goto loop
复制代码
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

本帖最后由 chenqldiy 于 2011-5-9 01:54 编辑

评分只能一次,谢谢4楼6楼
6楼后天我看看能不能再给分
6楼代码看不明白,但是说明很好,正在研究中代码,第一次发题所以问题不是说的很明白,但是却找到了自己想要的答案了
=。=!!!
还有就是,对于!str:%%a=!这样的问题,真是不知道怎么去搜索才能有找到答案。新手啊新手

TOP

返回列表