[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 15# 228630386
嗯,是图片问题,19张的标记为空格,而系统把空格也当成没有,所以看上去是没有标记,但实际是有的

TOP

回复 16# pcl_test


    请问有办法解决么? 因为我们通常都是用中文来标记的,但有些图片他来身自带空格,如果这也记录上,对我们统计数据带来不便。

TOP

回复 17# 228630386
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. set m=0
  5. for /f "delims=" %%a in ('dir /a-d /s /b *.jpg') do (
  6. set /a n+=1
  7. set str=
  8. for /f "delims=" %%b in ('findstr "rdf:Bag" "%%a"') do set str=%%b
  9. set str=!str: =!
  10. if "!str:~-8,-1!" == "rdf:Bag" set /a m+=1
  11. )
  12. set /a t=%n%-%m%
  13. echo 该目录下共有%n%张JPG图片,其中%m%张有标记,%t%张无标记
  14. pause
复制代码
1

评分人数

TOP

回复 18# pcl_test


    非常感谢,我明天回到公司再测试一下,辛苦两位大侠!!!

TOP

来一个系统原生的办法
  1. 1>1/* :
  2. @echo off
  3. for /f "delims=" %%a in ('dir /a-d /b /s *.jpg ^| cscript -nologo -e:jscript "%~0"') do (
  4. echo %%a>"%%a.txt"
  5. )
  6. pause & exit /b
  7. */
  8. var filelist = WScript.StdIn.ReadAll().split(/\r?\n/)
  9. var fso = new ActiveXObject('Scripting.FileSystemObject')
  10. var shell = new ActiveXObject('Shell.Application')
  11. var FLAG=0,NOFLAG=0
  12. for(var i in filelist){
  13. var fullpath = fso.GetFile(filelist[i]).Path
  14. var namespace = shell.Namespace(fullpath.replace(/[^\\]*$/,''))
  15. var parsename = namespace.ParseName(fullpath.replace(/.*\\/,''))
  16. var value = namespace.GetDetailsOf(parsename,namespace.GetDetailsOf('',18)==='标记'?18:5)
  17. if(/\S/.test(value)){FLAG++}else{NOFLAG++}
  18. }
  19. WSH.Echo('该目录下共有'+(FLAG+NOFLAG)+'张JPG图片,其中'+FLAG+'张有标记,'+NOFLAG+'张无标记')
复制代码
2

评分人数

TOP

回复 20# CrLf


    但为什么有时候会弹出错误信息? exit,不能自动关闭窗口?

TOP

回复 21# 228630386


    你改过代码了吧,我第 20 行没出现过 exit

TOP

回复 18# pcl_test


    http://pan.baidu.com/s/1kT67xVh
    亲,代码又遇到另一个问题,明明有标记,又被记录成没有标记了,这是有问题的图片。

TOP

回复 22# CrLf


    是喔,哪什么情况下可以自动关闭窗口呢? exit不可以的么?

TOP

回复 24# 228630386
回复 23# 228630386
使用CrLf  20楼的代码,你要运行完退出,只要改第6行代码为exit即可,即去掉pause &

TOP

回复 25# pcl_test


    非常感谢,终于可以了。代码在测试中,暂时没有问题。

TOP

来学习一下

TOP

返回列表