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

[文本处理] 批处理如何遍历目录获取文本个数?

现在指定目录下获取文件个数 麻烦帮我看下为什么输出是0 怎么改可以得到预期效果
  1. echo off
  2. setlocal
  3. set inputDir = "C:\99Pursey"
  4. set /a num = 0
  5. for %%m in (" dir /s /b %inputDir%\*") do (
  6. if not %%m == "test.bat" (
  7. echo %%m
  8. set /a num = num + 1
  9. )
  10. )
  11. echo "total num :"%num%
  12. endlocal
  13. pause
复制代码

把等号左右两边的空格全部删掉

TOP

本帖最后由 apang 于 2014-12-3 11:26 编辑
  1. @echo off
  2. pushd "C:\99Pursey\"
  3. for /f %%a in ('dir /a-d/b/s^|findstr /iv \\test\.bat$^|find /c /v ""') do set n=%%a
  4. echo,%n%
  5. pause
复制代码

TOP

既然指定文件名 那就直接 dir 省个 findstr 啊

TOP

回复 4# terse


    他可能是为了避免把 test.bata 也算进去

TOP

回复 5# CrLf
因为我看楼主无统配的

TOP

回复 6# terse


    哦,仔细看了下,楼主的要求是排除 test.bat

TOP

返回列表