标题: [文件操作] 批处理统计文件个数为什么计算出错? [打印本页]
作者: FU8989 时间: 2010-4-23 02:38 标题: 批处理统计文件个数为什么计算出错?
- @echo off&setlocal enabledelayedexpansion
- for /f "delims=" %%a in ('dir /b /s /a-d "D:\2AAAAA\*.txt"') do (
- set /a "n=0,mn+=1"
- for /f "usebackq delims=" %%i in ("%%a") do (
- for %%j in (%%i) do (
- if 1%%j leq 19999 if 1%%j geq 10000 set/a "n+=1,m+=1"
- )
- )
- echo %%a !n! 个
- )
- echo; 共计 !m! 个
- for /l %%i in (1 1 %mn%) do echo;!_%%i!
- pause
复制代码
以上代码对附件进行计算时出错 为什么? 诚请各位指正 谢谢
作者: sgaizxt001 时间: 2010-4-23 02:40
1%%j是什么意思?
把你这一句换成这句就可以计算正确了
if not "%%j" == "" set /a n+=1,m+=1
[ 本帖最后由 sgaizxt001 于 2010-4-23 02:50 编辑 ]
作者: FU8989 时间: 2010-4-23 02:48 标题: 回复 2楼 的帖子
别人写的 我也不明白 求助各位
作者: FU8989 时间: 2010-4-23 07:58 标题: 回复 2楼 的帖子
师傅 非常感谢你 很好用
作者: x9tiancmd 时间: 2010-4-23 13:50
原帖由 FU8989 于 2010-4-23 07:58 发表
if 1%%j leq 19999 if 1%%j geq 10000 set/a "n+=1,m+=1"
你这要写这记算文本中包含多少独立的行为"9999" 呀 ,难道是记算这个.( ̄▽ ̄@)
作者: GNU 时间: 2010-4-23 14:02 标题: 回复 2楼 的帖子
1%%j是为了防止%%j以0开头时比较出错
作者: FU8989 时间: 2010-4-23 14:31 标题: 回复 6楼 的帖子
谢谢..............................................
作者: sgaizxt001 时间: 2010-4-23 20:09 标题: 回复 6楼 的帖子
不会被理解成1模J吗?这是什么原理呢
作者: hanyeguxing 时间: 2010-4-23 20:26
原帖由 sgaizxt001 于 2010-4-23 20:09 发表
不会被理解成1模J吗?这是什么原理呢
取模只是set/a中。。。。。。
作者: GNU 时间: 2010-4-23 21:01 标题: 回复 8楼 的帖子
正如9楼所说,只有算术运算的时候才有取模。
作者: FU8989 时间: 2010-4-24 01:43
谢谢.....................................
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |