标题: [文件操作] 【已解决】BAT如何统计文件夹下图片文件的数量? [打印本页]
作者: 001011 时间: 2013-10-30 14:47 标题: 【已解决】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
非常感谢
作者: foxJL 时间: 2013-10-30 15:21
转换后的PDF保存在原文件夹里?
PDF文件是不是以前的文件名?
如果是这样那不如直接列出没有转换的图JPG或TIF文件。
作者: 001011 时间: 2013-10-30 15:25
转换后的保存在另外的文件夹(转换前和转换后)里面
但文件夹结构是一样的
文件名是一样的 除了后缀
作者: 001011 时间: 2013-10-30 15:30
本帖最后由 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)
作者: foxJL 时间: 2013-10-30 15:32
同一个文件夹里面的TIF和JPG文件有没有同名的可能性,
如果重名则无法判断PDF是哪张图片所转
作者: 001011 时间: 2013-10-30 15:35
绝对没有相同名字
作者: foxJL 时间: 2013-10-30 15:56
本帖最后由 foxJL 于 2013-10-30 18:48 编辑
设
c:\123\in为源文件夹
c:\123\out为目标文件夹- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /a-d /b /s c:\123\in\*.jpg,c:\123\in\*.tif 2^>nul') do (
- set fn=%%~dpni& set fn=!fn:c:\123\in\=c:\123\out\!
- if not exist "!fn!.pdf" echo,%%i 未转换
- )
- pause
复制代码
作者: 001011 时间: 2013-10-30 16:29
非常感谢 达到预期了效果
想问一下 能否不对路径要求的那么严格呢
比如 in下面的0096 所有图片文件和out下面的0096 的所有图片进行比对 这样方便些
因为转换软件不能复制路径转换 结果转好的pdf是全部放在一个文件夹下面的 我还要一个个的分文件夹才能和转换前的文件夹结构一样,手工分文件夹如果疏忽了就有可能和原先的文件夹结构有区别 就会影响比对结果
作者: foxJL 时间: 2013-10-30 16:41
本帖最后由 foxJL 于 2013-10-30 18:46 编辑
你之前又说文件夹的结构是一样的,早这样说PDF都在一个文件夹那就更简单了- @echo off & setlocal enabledelayedexpansion
- for /f "delims=" %%i in ('dir /a-d /b /s c:\123\in\*.jpg,c:\123\in\*.tif 2^>nul') do (
- if not exist "c:\123\out\%%~ni.pdf" echo,%%i 未转换
- )
- pause
复制代码
作者: 001011 时间: 2013-10-30 17:00
非常感谢 辛苦了
作者: Batcher 时间: 2013-10-30 17:56
回复 10# 001011
请点击9楼右下角的“评分”按钮
作者: 001011 时间: 2013-10-30 22:16
回复 001011
请点击9楼右下角的“评分”按钮
Batcher 发表于 2013-10-30 17:56
我怎么不能评分呢 提交的就提示来路不正
作者: Batcher 时间: 2013-11-1 08:47
回复 12# 001011
什么浏览器?
退出,清空cookies,登陆。试试这样行不行
作者: 001011 时间: 2013-11-3 19:51
世界之窗浏览器 我刚刚换网又试了一下 还是不行
作者: Batcher 时间: 2013-11-3 21:11
回复 14# 001011
IE或者火狐也有问题吗?
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |