标题: [文件操作] [已解决]批处理如何提取多个目录下的图片标记? [打印本页]
作者: 228630386 时间: 2015-3-27 16:13 标题: [已解决]批处理如何提取多个目录下的图片标记?
以下是案例文件,当中也有之前解决过的导出标记公式在。可否再多实现多一个效果?
如何提取多个目录下的图片标记内容? 并列具在TXT当中。可否重复的不显示?
案例文件: http://pan.baidu.com/s/1c071D2g
作者: 228630386 时间: 2015-3-27 17:29
如果要做到不重复列出来不能实现的话,或者将记录列举出来都可以的。
作者: pcl_test 时间: 2015-3-27 17:51
本帖最后由 pcl_test 于 2015-3-27 17:56 编辑
回复 2# 228630386 - 1>1/* :
- @echo off & setlocal enabledelayedexpansion
- set n=1
- for /f "delims=" %%a in ('dir /a-d /b /s *.jpg ^| cscript -nologo -e:jscript "%~0"') do (
- if !n! == 1 (set name=%%a & >"!name!.txt" echo,%%a) else (if not defined %%a set %%a=Def & >>"!name!.txt" echo,%%a)
- set /a n+=1
- )
- exit
- */
- var filelist = WScript.StdIn.ReadAll().split(/\r?\n/)
- var fso = new ActiveXObject('Scripting.FileSystemObject')
- var shell = new ActiveXObject('Shell.Application')
- var FLAG=0,NOFLAG=0
- var s=""
- for(var i in filelist){
- var fullpath = fso.GetFile(filelist[i]).Path
- var namespace = shell.Namespace(fullpath.replace(/[^\\]*$/,''))
- var parsename = namespace.ParseName(fullpath.replace(/.*\\/,''))
- var value = namespace.GetDetailsOf(parsename,namespace.GetDetailsOf('',18)==='标记'?18:5)
- s+=value+"\n"
- if(/\S/.test(value)){FLAG++}else{NOFLAG++}
- }
- WSH.Echo('共有'+(FLAG+NOFLAG)+'张JPG图片,其中'+FLAG+'张有标记,'+NOFLAG+'张无标记\n'+'标记内容包括:\n'+s)
复制代码
作者: 228630386 时间: 2015-3-27 19:37
回复 3# pcl_test
大强大了,又学会了很多!!!
作者: CrLf 时间: 2015-3-27 19:45
回复 3# pcl_test
咦?为什么你最近发的帖子突然没有缩进了,是什么浏览器
作者: pcl_test 时间: 2015-3-27 20:35
回复 5# CrLf
不是浏览器的问题,用手机比较多,然后疏懒了,就没再注重缩进问题了,呵呵
作者: CrLf 时间: 2015-3-27 21:50
回复 6# pcl_test
哦,因为前阵子刚好有修改过论坛程序,以便支持 tab 和其他什么什么的,看到兄台的缩进不见了我以为是浏览器的兼容性问题
作者: 228630386 时间: 2015-3-30 22:02
回复 3# pcl_test
你好,根据之前命令,如果需要再增加一项就是在目录下的 "555.log" 文件中,查找有没有"少图"或者"空文件夹"的指定内容。
如果有,能否也导出在TXT当中,重复的不记录。
作者: pcl_test 时间: 2015-3-30 22:08
回复 8# 228630386
上传log文件,再举例说明下“查找有没有"少图"或者"空文件夹"的指定内容”
作者: 228630386 时间: 2015-3-30 22:23
回复 9# pcl_test
http://pan.baidu.com/s/1qWLq1Fe
不好意思,又要麻烦你了,LOG文件都是这个命名,查找LOG文件中的内容如出现 "缺图", "多余", "子文件夹", 这三个的话也登记在标记的TXT当中?
作者: 228630386 时间: 2015-3-31 09:42
回复 9# pcl_test
可以看明白我的意思么? 可能表达得不太好。就是搜索这LOG文件中有没有这些子眼,如果有也同时登记在导出的TXT当中,就是标记内容的后面。
作者: pcl_test 时间: 2015-3-31 13:35
回复 11# 228630386
是每个子文件夹里都有一个log文件吗?
作者: 228630386 时间: 2015-3-31 15:01
回复 12# pcl_test
不是,只查找和当前目录DOS命令放在一起的 log文件就可以。
作者: pcl_test 时间: 2015-3-31 17:57
本帖最后由 pcl_test 于 2015-3-31 18:04 编辑
回复 13# 228630386
log中的每行最后都带标记吗?
如果是文件还是比较容易区分
如果是文件夹就很难区分了
如E:\完成图\201503\3-3\3.8 包包及配件专场-90 完成图\5\AS30007911\30007911 子文件夹,既可以看成是E:\完成图\201503\3-3\3.8 包包及配件专场-90 完成图\5\AS30007911\30007911这个路径和子文件夹这个标记,也可以认为是E:\完成图\201503\3-3\3.8 包包及配件专场-90 完成图\5\AS30007911\30007911 子文件夹整个为路径
作者: 228630386 时间: 2015-3-31 18:28
本帖最后由 228630386 于 2015-3-31 18:30 编辑
回复 14# pcl_test
LOG文件里面都是路径,是用软件导出的内容。因为好像缺图和多余,如果不是JPG格式就标记不出来,或者文件夹里有子文件夹。
现在是想软件导出的LOG文件和图片的标记,同时都记录在TXT当中。
作者: pcl_test 时间: 2015-3-31 18:34
本帖最后由 pcl_test 于 2015-3-31 18:35 编辑
回复 15# 228630386
log中的每行最后都带标记吗?因为无法匹配最后一部分字段是否是标记还是路径的一部分,上面已经举例说明
作者: 228630386 时间: 2015-3-31 19:17
回复 14# pcl_test
路径可否不理会,只检测LOG文件中有没有缺图和多余字眼,如果有就登记在TXT当中,这应该不能实现是吧?
作者: pcl_test 时间: 2015-3-31 19:21
回复 17# 228630386
对路径很难排除,因为程序很难区分路径和标记
作者: 228630386 时间: 2015-3-31 19:28
回复 18# pcl_test
http://pan.baidu.com/s/1eQ3ZTgm
我重新上传了一个标准的LOGO文件, 缺图; 多余; 下级目录多余; 只要检测这三个有没有在LOG中存在。
作者: pcl_test 时间: 2015-3-31 19:32
回复 17# 228630386
初步方法
http://pan.baidu.com/s/1i3Dxov7
作者: 228630386 时间: 2015-3-31 19:38
回复 20# pcl_test
可以了喔,iconv.exe 这个是什么文件来呢?
作者: 228630386 时间: 2015-3-31 19:41
回复 20# pcl_test
我知道了,必须要哪个文件在才能运行。如果不在就不可了。
作者: pcl_test 时间: 2015-3-31 19:45
回复 21# 228630386
iconv.exe用来转换字符编码的,你的log文件是UTF-8编码,需要转为ANSI编码,批处理才可以执行
作者: 228630386 时间: 2015-3-31 20:09
回复 23# pcl_test
iconv.exe 这个可否不运用了,直接用命令将LGO转换成TXT?
作者: 228630386 时间: 2015-3-31 20:19
回复 23# pcl_test
或者能否将iconv.exe 和 DOS命令合并成一个exe文件?
作者: pcl_test 时间: 2015-3-31 20:30
回复 25# 228630386
http://pan.baidu.com/s/1pJ5J063
作者: 228630386 时间: 2015-3-31 21:00
回复 26# pcl_test
http://pan.baidu.com/s/1bn4MaHh
这个也有多余,但为什么又提取不了出来呢? 也是字符有问题么?
作者: pcl_test 时间: 2015-3-31 21:11
本帖最后由 pcl_test 于 2015-3-31 21:21 编辑
回复 27# 228630386
回复 29# 228630386
http://pan.baidu.com/s/1eQkxfFG
已更正
作者: 228630386 时间: 2015-3-31 21:17
回复 28# pcl_test
亲,这链接打不开的?
作者: 228630386 时间: 2015-3-31 21:51
回复 28# pcl_test
可以了,真心非常感谢,明天再继续测试,如果有问题希望你能继续帮忙,谢谢!
作者: 228630386 时间: 2015-4-1 13:00
回复 28# pcl_test
亲,最后一个请求,能否将这句话去掉,log中提取到的内容,直接放在标记内容包括下面?
作者: pcl_test 时间: 2015-4-1 13:10
本帖最后由 pcl_test 于 2015-4-1 13:45 编辑
回复 31# 228630386
合并不去重http://pan.baidu.com/s/1CV5IQ
合并去重http://pan.baidu.com/s/1hqowNM8
作者: 228630386 时间: 2015-4-1 14:24
回复 32# pcl_test
非常感谢,连重复的问题都帮我解决了,真心感谢!!!!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |