找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27317|回复: 10

[文件操作] 批处理统计文件个数为什么计算出错?

[复制链接]
发表于 2010-4-23 02:38:10 | 显示全部楼层 |阅读模式
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('dir /b /s /a-d "D:\2AAAAA\*.txt"') do (
  3.     set /a "n=0,mn+=1"
  4.     for /f "usebackq delims=" %%i in ("%%a") do (
  5.         for %%j in (%%i) do (
  6.         if 1%%j leq 19999 if 1%%j geq 10000  set/a "n+=1,m+=1"
  7.        )
  8.     )
  9.     echo %%a    !n! 个
  10. )
  11. echo;                                        共计 !m! 个
  12. for /l %%i in (1 1 %mn%) do echo;!_%%i!
  13. pause
复制代码
以上代码对附件进行计算时出错 为什么? 诚请各位指正 谢谢
发表于 2010-4-23 02:40:46 | 显示全部楼层
1%%j是什么意思?
把你这一句换成这句就可以计算正确了
if not "%%j" == "" set /a n+=1,m+=1

[ 本帖最后由 sgaizxt001 于 2010-4-23 02:50 编辑 ]
 楼主| 发表于 2010-4-23 02:48:34 | 显示全部楼层

回复 2楼 的帖子

别人写的 我也不明白 求助各位
 楼主| 发表于 2010-4-23 07:58:39 | 显示全部楼层

回复 2楼 的帖子

师傅 非常感谢你 很好用
发表于 2010-4-23 13:50:22 | 显示全部楼层
原帖由 FU8989 于 2010-4-23 07:58 发表
if 1%%j leq 19999 if 1%%j geq 10000  set/a "n+=1,m+=1"



         你这要写这记算文本中包含多少独立的行为"9999" 呀  ,难道是记算这个.( ̄▽ ̄@)
发表于 2010-4-23 14:02:08 | 显示全部楼层

回复 2楼 的帖子

1%%j是为了防止%%j以0开头时比较出错
 楼主| 发表于 2010-4-23 14:31:50 | 显示全部楼层

回复 6楼 的帖子

谢谢..............................................
发表于 2010-4-23 20:09:18 | 显示全部楼层

回复 6楼 的帖子

不会被理解成1模J吗?这是什么原理呢
发表于 2010-4-23 20:26:58 | 显示全部楼层
原帖由 sgaizxt001 于 2010-4-23 20:09 发表
不会被理解成1模J吗?这是什么原理呢
取模只是set/a中。。。。。。
发表于 2010-4-23 21:01:28 | 显示全部楼层

回复 8楼 的帖子

正如9楼所说,只有算术运算的时候才有取模。
 楼主| 发表于 2010-4-24 01:43:27 | 显示全部楼层
谢谢.....................................
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:44 , Processed in 0.019687 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表