[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
这句列举子目录下所有含标记的 jpg 文件,其他看着改吧
  1. @findstr /s /m "rdf:Bag" *.jpg
复制代码

TOP

  1. @echo off
  2. for /f "delims=" %%a in ('findstr /s /m "rdf:Bag" *.jpg') do set /a 含标记+=1
  3. for /f "delims=" %%a in ('dir /s *.jpg') do set /a 总数+=1
  4. set /a 无标记=总数-含标记
  5. echo 该目录下共有%总数%张JPG图片,其中%含标记%张有标记,%无标记%张无标记>"共有%总数%张JPG图片,其中%含标记%张有标记,%无标记%张无标记.txt"
复制代码

TOP

回复 5# 228630386


    举个栗子?

TOP

本帖最后由 CrLf 于 2015-3-25 17:56 编辑

那就这样,会慢点就是了
  1. @echo off
  2. for /f "delims=" %%a in ('findstr /s /m "rdf:Bag" *.jpg') do set /a 含标记+=1
  3. for /f "delims=" %%a in ('findstr /s /m . *.jpg') do set /a 总数+=1
  4. set /a 无标记=总数-含标记
  5. echo 该目录下共有%总数%张JPG图片,其中%含标记%张有标记,%无标记%张无标记>"共有%总数%张JPG图片,其中%含标记%张有标记,%无标记%张无标记.txt"
复制代码

TOP

回复 10# 228630386


    哦,逻辑有漏洞,已修改

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

回复 21# 228630386


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

TOP

返回列表