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

[问题求助] [已解决]vbs调用wmi查找指定扩展名文件where子句有没有in操作符?

本帖最后由 pcl_test 于 2016-10-7 12:47 编辑

请问各位老师,winmgmts里的select语法有没有in条件?
比如:ExecQuery("Select * From CIM_DataFile where Drive='"&drive&"' and Extension in ('mp3','mp4')")

因为我想实现全盘搜索多个媒体扩展名的文件,比如一次性返回扩展名为 mp3 mp4 mkv rmvb 等扩展名的文件和路径,但是似乎不能像sql那样写in条件,这个有其他办法解决吗?文件太多,每个扩展名搜索一次太消耗时间了。
1

评分人数

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

  1.  ∧ ∧
  2. (゜∀゜*) 
  3. ⊂   つ≡=-
  4.  と,, )~≡=-
  5.    ヽ)≡=-
复制代码
everything是个好东西。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

唉,可惜我得用脚本实现,因为要在众多机器上查询,还需要将结果写入excel。。。

TOP

es 支持命令行。http://bbs.bathome.net/thread-37744-1-1.html

支持etp 和http 模式,可以在远程搜索 http://www.voidtools.com/support/everything/etp/
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 1# slovent

in 的实现终归还是 or ... or ... or ... ....
  1. ExecQuery("Select * From CIM_DataFile where Drive='"&drive&"' and ( Extension='mp3' or Extension='mp4' ) ")
复制代码
WMI 真的很慢

TOP

回复 4# codegay


谢谢codegay老师,不过我尽量还是不要在别人的机器上安装第三方软件的好:)

TOP

回复 5# aa77dd@163.com

感激aa77dd@163.com老师,我试试,那请问,想实现我的要求,还有更给力的方法吗?不想借用第三方工具,如果只是命令行工具倒还行,es需要依赖Everything,不太好的样子。。。

TOP

本帖最后由 aa77dd@163.com 于 2016-10-6 23:56 编辑

回复 7# slovent

只获取最基本的信息, 比如文件路径, DIR 比 WMI 快

测试于 win7
  1. @echo off
  2. for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  3.         title search %%d:\*.mp3 *.mp4 *.mkv *.rmvb
  4.         2>nul dir %%d:\*.mp3 *.mp4 *.mkv *.rmvb /a /s /b
  5. )
  6. pause
复制代码

TOP

回复 8# aa77dd@163.com


  帅,感谢aa77dd@163.com老师,这个的确很快,不过结果集里只有mp3格式的文件,其他格式的文件似乎没有搜索出来,win8系统

TOP

本帖最后由 aa77dd@163.com 于 2016-10-7 00:23 编辑

回复 9# slovent

dir *.ext1 *ext2 *.ext3 ... 这样的用法似乎有 BUG, WIN7 上我尝试了几次都不正常, 确实会不给全部的结果, 甚至是给很少的结果

我改成了这样
  1. @echo off
  2. >filelist.txt (
  3.     for %%d in (C D E F G H I J K L M N O P Q R S T U V W X Y Z) do (
  4.         if exist %%d: (
  5.             for %%t in (mp3 mp4 mkv rmvb) do (
  6.                 title search %%d:\*.%%t
  7.                 2>nul dir %%d:\*.%%t /a-d /s /b
  8.             )            
  9.         )
  10.     )
  11. )
  12. pause
复制代码

TOP

回复 10# aa77dd@163.com

完美,感激aa77dd@163.com老师,我试试融入到我的脚本里。呵呵

TOP

返回列表