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

[文件操作] 批处理如何统计文件夹中文件名不是以指定字符开头的文件的个数/数量

[复制链接]
发表于 2012-12-23 00:05:10 | 显示全部楼层
回复 8# yeahey_726


    已改正, 复制代码时出问题了, 你那种用法建议不要使用, 容易出问题
 楼主| 发表于 2012-12-23 00:43:55 | 显示全部楼层
在度娘上找到这么一段代码:
for /f "delims=" %%a in ('dir /ad /b') do (
for /f %%s in ('dir /b /a-d /b %%a ^| find /v /c ""') do echo %%a;%%b >> LIST.txt)
它是统计每个子文件夹下的文件个数,很不错.find好像不接收findstr里面的^等参数,所以无法统计非零开头的jpg文件,有办法处理么?用findstr该怎么用?
发表于 2012-12-23 01:36:21 | 显示全部楼层
回复 10# yeahey_726
如果 DIR  加参数/S 搜子目录的话 那怎么确保文件名在前面  行首应该是路径把
dir 加 findstr 的话 再加FIND
不搜索子目录
  1. dir /a-d /b *.jgs |findstr /bv "0"|find /v /c ""
复制代码
发表于 2012-12-23 01:50:41 | 显示全部楼层
本帖最后由 CrLf 于 2012-12-23 01:53 编辑
  1. @echo off
  2. for /f %%a in ('dir /a-d /s /b *.jpg^|findstr /v "\\0[^\]*"^|find /c /v ""') do set n=%%a
  3. echo %n%
  4. pause
复制代码
  1. @echo off&set n=0
  2. for /f "delims=" %%a in ('dir /a-d /s /b *.jpg') do (
  3.    for /f "eol=0 delims=" %%b in ("%%~nxa") do set /a n+=1
  4. )
  5. echo %n%
  6. pause
复制代码
 楼主| 发表于 2012-12-23 08:34:39 | 显示全部楼层
本帖最后由 yeahey_726 于 2012-12-23 08:42 编辑

呵呵,谢谢,谢谢各位夜行大侠,尤其是CrLf ,太给力了,一下发两个,让我对批处理更明晰了,赞一个!
 楼主| 发表于 2012-12-23 11:18:03 | 显示全部楼层
本帖最后由 yeahey_726 于 2012-12-23 11:21 编辑

文件夹内有很多子目录(只有一级),每个子目录里面有很多不同类型的文件,文件名也各种各样,含不少特殊符号,
我现在需要:在文件夹内双击,可以输出1.txt,内容为:

子目录1, 非0开头的jpg文件数;
子目录2, 非0开头的jpg文件数;

还请各位大侠各显神通,试着不同方法实现一下?谢谢,我现在还在调试,一直没成功
 楼主| 发表于 2012-12-23 11:40:35 | 显示全部楼层
@echo off
for /f "delims=" %%a in ('dir /ad /b') do (
set /a b=(dir /b /a-d %%a ^|findstr \i "^0.*pdg$" ^|find /c "" )
echo %%a;%b% >> LIST.txt
)
我这个一直不知道错在哪儿,恭请大侠指点
发表于 2012-12-23 12:08:44 | 显示全部楼层
回复 14# yeahey_726
  1. @echo off
  2. for /d %%a in (*) do (
  3.     set /p =%%a: <nul
  4.     for /f %%b in ('dir /b "%%a\*.jpg" ^| findstr /v "^0" ^| find /v /c ""') do (
  5.         echo,%%b
  6.     )
  7. )
复制代码
 楼主| 发表于 2012-12-23 14:01:57 | 显示全部楼层
谢谢,彻底搞定,我们这个网站太给力了,希望越办越好~~
发表于 2012-12-26 06:51:31 | 显示全部楼层
回复 17# yeahey_726


    问题解决后,请编辑顶楼帖子在标题前面注明[已解决],并给回答者加分。
发表于 2012-12-26 08:47:52 | 显示全部楼层
本帖最后由 523066680 于 2012-12-26 08:56 编辑

我装了grep for win32
dir *.jpg /b |grep "^[^0]" -c
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 23:44 , Processed in 0.028969 second(s), 14 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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