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

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

本帖最后由 pcl_test 于 2017-3-20 17:44 编辑

某个文件夹内有大量文件,只筛选出特定文件名的文件,例如 LPD_*.TXT,不必筛选子文件夹,谢谢!

用正则吧!
看山是山,看山不是山!

TOP

  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
复制代码
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

只适用于 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
复制代码
(可能存在未知原因导致文件获取不完整)
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

谢谢您的回答!请问有包含通配符格式的筛选方法么?比如,IF 文件名=LPD_*.txt  THEN ....

TOP

返回列表