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

[问题求助] 如何用VBS查找文件名以指定字符串开头的文件/筛选文件名?

[复制链接]
发表于 2009-12-10 11:03:16 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2017-3-20 17:44 编辑

某个文件夹内有大量文件,只筛选出特定文件名的文件,例如 LPD_*.TXT,不必筛选子文件夹,谢谢!
发表于 2009-12-10 18:31:27 | 显示全部楼层
用正则吧!
发表于 2009-12-10 21:48:50 | 显示全部楼层
  1. folder = "D:\桌面"
  2. set fso = CreateObject("Scripting.FileSystemObject")
  3. set file = fso.GetFolder(folder).Files
  4. for each f in files
  5. fn = f.name
  6. if InStr(1, fso.GetBaseName(fn), "LPD_", 1)=1 and LCase(Right(fn,3))=LCase("txt") then
  7.     s = s & fn & vbCrLf
  8. end if
  9. next
  10. wsh.echo s
复制代码
发表于 2009-12-10 21:54:03 | 显示全部楼层
只适用于 Windows XP 及以上版本
  1. folder = "D:\桌面"

  2. if Right(folder,1) <> "" then folder = folder & ""
  3. folder = Replace(folder, "", "\")
  4. set wmi = GetObject("winmgmts:")
  5. set files = wmi.ExecQuery("select * from CIM_DataFile where (" _
  6.     & "drive='" & Left(folder, 2) & "' and path='" _
  7.     & Mid(folder,3) & "' and extension='txt' and " _
  8.     & "filename like '" & "LPD_%" & "')")
  9. for each f in files
  10.     s = s & f.name & vbCrLf
  11. next
  12. wsh.echo s
复制代码
(可能存在未知原因导致文件获取不完整)
 楼主| 发表于 2009-12-14 09:08:24 | 显示全部楼层
谢谢您的回答!请问有包含通配符格式的筛选方法么?比如,IF 文件名=LPD_*.txt  THEN ....
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 11:43 , Processed in 0.016086 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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