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

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

以下是案例文件,当中也有之前解决过的导出标记公式在。可否再多实现多一个效果?
如何提取多个目录下的图片标记内容? 并列具在TXT当中。可否重复的不显示?
案例文件:  http://pan.baidu.com/s/1c071D2g
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

如果要做到不重复列出来不能实现的话,或者将记录列举出来都可以的。

TOP

本帖最后由 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

评分人数

TOP

回复 3# pcl_test


    大强大了,又学会了很多!!!

TOP

回复 3# pcl_test


    咦?为什么你最近发的帖子突然没有缩进了,是什么浏览器

TOP

回复 5# CrLf
不是浏览器的问题,用手机比较多,然后疏懒了,就没再注重缩进问题了,呵呵

TOP

回复 6# pcl_test


    哦,因为前阵子刚好有修改过论坛程序,以便支持 tab 和其他什么什么的,看到兄台的缩进不见了我以为是浏览器的兼容性问题

TOP

回复 3# pcl_test


    你好,根据之前命令,如果需要再增加一项就是在目录下的 "555.log" 文件中,查找有没有"少图"或者"空文件夹"的指定内容。
    如果有,能否也导出在TXT当中,重复的不记录。

TOP

回复 8# 228630386
上传log文件,再举例说明下“查找有没有"少图"或者"空文件夹"的指定内容”

TOP

回复 9# pcl_test


    http://pan.baidu.com/s/1qWLq1Fe
    不好意思,又要麻烦你了,LOG文件都是这个命名,查找LOG文件中的内容如出现  "缺图", "多余", "子文件夹", 这三个的话也登记在标记的TXT当中?

TOP

回复 9# pcl_test


    可以看明白我的意思么? 可能表达得不太好。就是搜索这LOG文件中有没有这些子眼,如果有也同时登记在导出的TXT当中,就是标记内容的后面。

TOP

回复 11# 228630386
是每个子文件夹里都有一个log文件吗?

TOP

回复 12# pcl_test


    不是,只查找和当前目录DOS命令放在一起的 log文件就可以。

TOP

本帖最后由 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    子文件夹整个为路径

TOP

本帖最后由 228630386 于 2015-3-31 18:30 编辑

回复 14# pcl_test


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

TOP

返回列表