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

[文件操作] 【已解决】BAT如何统计文件夹下图片文件的数量?

本帖最后由 001011 于 2013-10-30 16:34 编辑

工作中需要转换图片格式,但是自动转换软件转换的时候会因为图片问题而不转换。这样就导致转换前和转换后的图片数量不一样多。现在只能一个个文件夹打开比对。非常繁琐。
能否有办法统计出文件夹下的图片数量(统计两次,一次转换前的文件夹、一次转换后的文件夹),这样比对就比较简单了。
文件夹为多级结构:
F:.
├─0101
│  ├─1
│  ├─2
│  └─D
└─0096
    ├─1
    │  ├─1
    │  ├─2
    │  ├─3
    │  ├─4
    │  ├─5
    │  └─6
    ├─2
    └─D
图片都放在最底层的文件夹
文件名是这样的:XMPG-2010-0096-01-01-001
图片格式:转换前有两种格式   .TIF或.JPG
转换后统一为:.pdf

非常感谢
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2
非常好的论坛

转换后的PDF保存在原文件夹里?
PDF文件是不是以前的文件名?
如果是这样那不如直接列出没有转换的图JPG或TIF文件。

TOP

转换后的保存在另外的文件夹(转换前和转换后)里面
但文件夹结构是一样的
文件名是一样的 除了后缀
非常好的论坛

TOP

本帖最后由 001011 于 2013-10-30 15:36 编辑

比对的话  最好是 按照图片文件名比对
比如
在转换后文件夹0096找到XMPG-2010-0096-01-01-001.PDF
再在转换前文件夹0096找XMPG-2010-0096-01-01-001(因为有两种图片格式,最好只比对文件名)
找到就OK  找不到记录下来

文件名是有规律的
XMPG-2010-0096-01-01-001
固定的项目名-固定的年度-项目编号-件号-图号-页序

XMPG-2010-0096-01-01-001
这个文件就是2010年度的0096号项目的第一件,放在0096号文件夹的1下面的1里面(因为是01-01)
XMPG-2010-0096-02-01-001
这个文件就是2010年度的0096号项目的第二件,放在0096号文件夹的2下面的1里面(因为是02-01)
非常好的论坛

TOP

同一个文件夹里面的TIF和JPG文件有没有同名的可能性,
如果重名则无法判断PDF是哪张图片所转

TOP

绝对没有相同名字
非常好的论坛

TOP

本帖最后由 foxJL 于 2013-10-30 18:48 编辑


c:\123\in为源文件夹
c:\123\out为目标文件夹
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f  "delims=" %%i in ('dir /a-d /b /s c:\123\in\*.jpg,c:\123\in\*.tif 2^>nul') do (
  3.   set fn=%%~dpni& set fn=!fn:c:\123\in\=c:\123\out\!
  4.   if not exist "!fn!.pdf" echo,%%i 未转换
  5. )
  6. pause
复制代码
1

评分人数

TOP

非常感谢 达到预期了效果
想问一下  能否不对路径要求的那么严格呢
比如 in下面的0096  所有图片文件和out下面的0096 的所有图片进行比对  这样方便些
因为转换软件不能复制路径转换 结果转好的pdf是全部放在一个文件夹下面的  我还要一个个的分文件夹才能和转换前的文件夹结构一样,手工分文件夹如果疏忽了就有可能和原先的文件夹结构有区别  就会影响比对结果
非常好的论坛

TOP

本帖最后由 foxJL 于 2013-10-30 18:46 编辑

你之前又说文件夹的结构是一样的,早这样说PDF都在一个文件夹那就更简单了
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f  "delims=" %%i in ('dir /a-d /b /s c:\123\in\*.jpg,c:\123\in\*.tif 2^>nul') do (
  3.   if not exist "c:\123\out\%%~ni.pdf" echo,%%i 未转换
  4. )
  5. pause
复制代码
1

评分人数

TOP

非常感谢 辛苦了
非常好的论坛

TOP

回复 10# 001011


    请点击9楼右下角的“评分”按钮
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复  001011


    请点击9楼右下角的“评分”按钮
Batcher 发表于 2013-10-30 17:56

我怎么不能评分呢 提交的就提示来路不正
非常好的论坛

TOP

回复 12# 001011


什么浏览器?
退出,清空cookies,登陆。试试这样行不行
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

世界之窗浏览器  我刚刚换网又试了一下  还是不行
非常好的论坛

TOP

回复 14# 001011


    IE或者火狐也有问题吗?
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表