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

[文件操作] [已解决]批处理如何提取多个目录下的图片标记?

[复制链接]
发表于 2015-3-27 16:13:44 | 显示全部楼层 |阅读模式
以下是案例文件,当中也有之前解决过的导出标记公式在。可否再多实现多一个效果?
如何提取多个目录下的图片标记内容? 并列具在TXT当中。可否重复的不显示?
案例文件:  http://pan.baidu.com/s/1c071D2g

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

 楼主| 发表于 2015-3-27 17:29:25 | 显示全部楼层
如果要做到不重复列出来不能实现的话,或者将记录列举出来都可以的。
发表于 2015-3-27 17:51:24 | 显示全部楼层
本帖最后由 pcl_test 于 2015-3-27 17:56 编辑

回复 2# 228630386
  1. 1>1/* :
  2. @echo off & setlocal enabledelayedexpansion
  3. set n=1
  4. for /f "delims=" %%a in ('dir /a-d /b /s *.jpg ^| cscript -nologo -e:jscript "%~0"') do (
  5. if !n! == 1 (set name=%%a & >"!name!.txt" echo,%%a) else (if not defined %%a set %%a=Def & >>"!name!.txt" echo,%%a)
  6. set /a n+=1
  7. )
  8. exit
  9. */
  10. var filelist = WScript.StdIn.ReadAll().split(/\r?\n/)
  11. var fso = new ActiveXObject('Scripting.FileSystemObject')
  12. var shell = new ActiveXObject('Shell.Application')
  13. var FLAG=0,NOFLAG=0
  14. var s=""
  15. for(var i in filelist){
  16. var fullpath = fso.GetFile(filelist[i]).Path
  17. var namespace = shell.Namespace(fullpath.replace(/[^\\]*$/,''))
  18. var parsename = namespace.ParseName(fullpath.replace(/.*\\/,''))
  19. var value = namespace.GetDetailsOf(parsename,namespace.GetDetailsOf('',18)==='标记'?18:5)
  20. s+=value+"\n"
  21. if(/\S/.test(value)){FLAG++}else{NOFLAG++}
  22. }
  23. WSH.Echo('共有'+(FLAG+NOFLAG)+'张JPG图片,其中'+FLAG+'张有标记,'+NOFLAG+'张无标记\n'+'标记内容包括:\n'+s)
复制代码

评分

参与人数 1技术 +1 收起 理由
228630386 + 1 乐于助人

查看全部评分

 楼主| 发表于 2015-3-27 19:37:10 | 显示全部楼层
回复 3# pcl_test


    大强大了,又学会了很多!!!
发表于 2015-3-27 19:45:49 | 显示全部楼层
回复 3# pcl_test


    咦?为什么你最近发的帖子突然没有缩进了,是什么浏览器
发表于 2015-3-27 20:35:18 | 显示全部楼层
回复 5# CrLf
不是浏览器的问题,用手机比较多,然后疏懒了,就没再注重缩进问题了,呵呵
发表于 2015-3-27 21:50:09 | 显示全部楼层
回复 6# pcl_test


    哦,因为前阵子刚好有修改过论坛程序,以便支持 tab 和其他什么什么的,看到兄台的缩进不见了我以为是浏览器的兼容性问题
 楼主| 发表于 2015-3-30 22:02:28 | 显示全部楼层
回复 3# pcl_test


    你好,根据之前命令,如果需要再增加一项就是在目录下的 "555.log" 文件中,查找有没有"少图"或者"空文件夹"的指定内容。
    如果有,能否也导出在TXT当中,重复的不记录。
发表于 2015-3-30 22:08:12 | 显示全部楼层
回复 8# 228630386
上传log文件,再举例说明下“查找有没有"少图"或者"空文件夹"的指定内容”
 楼主| 发表于 2015-3-30 22:23:04 | 显示全部楼层
回复 9# pcl_test


    http://pan.baidu.com/s/1qWLq1Fe
    不好意思,又要麻烦你了,LOG文件都是这个命名,查找LOG文件中的内容如出现  "缺图", "多余", "子文件夹", 这三个的话也登记在标记的TXT当中?
 楼主| 发表于 2015-3-31 09:42:59 | 显示全部楼层
回复 9# pcl_test


    可以看明白我的意思么? 可能表达得不太好。就是搜索这LOG文件中有没有这些子眼,如果有也同时登记在导出的TXT当中,就是标记内容的后面。
发表于 2015-3-31 13:35:37 | 显示全部楼层
回复 11# 228630386
是每个子文件夹里都有一个log文件吗?
 楼主| 发表于 2015-3-31 15:01:40 | 显示全部楼层
回复 12# pcl_test


    不是,只查找和当前目录DOS命令放在一起的 log文件就可以。
发表于 2015-3-31 17:57:03 | 显示全部楼层
本帖最后由 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    子文件夹整个为路径
 楼主| 发表于 2015-3-31 18:28:42 | 显示全部楼层
本帖最后由 228630386 于 2015-3-31 18:30 编辑

回复 14# pcl_test


    LOG文件里面都是路径,是用软件导出的内容。因为好像缺图和多余,如果不是JPG格式就标记不出来,或者文件夹里有子文件夹。
    现在是想软件导出的LOG文件和图片的标记,同时都记录在TXT当中。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 11:27 , Processed in 0.021796 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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