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

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

  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
复制代码
以上代码对附件进行计算时出错 为什么? 诚请各位指正 谢谢

1%%j是什么意思?
把你这一句换成这句就可以计算正确了
if not "%%j" == "" set /a n+=1,m+=1

[ 本帖最后由 sgaizxt001 于 2010-4-23 02:50 编辑 ]

TOP

回复 2楼 的帖子

别人写的 我也不明白 求助各位

TOP

回复 2楼 的帖子

师傅 非常感谢你 很好用

TOP

原帖由 FU8989 于 2010-4-23 07:58 发表
if 1%%j leq 19999 if 1%%j geq 10000  set/a "n+=1,m+=1"



         你这要写这记算文本中包含多少独立的行为"9999" 呀  ,难道是记算这个.( ̄▽ ̄@)
    ╭╩═╮
╭╯G O ╠ 雁过留声
╰⊙═⊙╯

TOP

回复 2楼 的帖子

1%%j是为了防止%%j以0开头时比较出错

TOP

回复 6楼 的帖子

谢谢..............................................

TOP

回复 6楼 的帖子

不会被理解成1模J吗?这是什么原理呢

TOP

原帖由 sgaizxt001 于 2010-4-23 20:09 发表
不会被理解成1模J吗?这是什么原理呢
取模只是set/a中。。。。。。
寒夜孤星:在没有说明的情况下,本人所有代码均运行在 XP SP3 下 (有问题请发贴,QQ临时会话已关闭)

TOP

回复 8楼 的帖子

正如9楼所说,只有算术运算的时候才有取模。

TOP

谢谢.....................................

TOP

返回列表