我正在尝试用 VB 编写此代码(我很新) 我想让代码遍历文件夹/目录,并以类似 for 循环的方式挑选出所有“.txt”文件。然后可以使用 MsgBox(“txt 文件名”)列出这些文本文件。这是我到目前为止所得到的:
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\Users\Desktop\folder"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
If UCase(objFSO.GetExtensionName(objFile.name)) = ".txt" Then
Wscript.Echo objFile.Name
Next
它似乎没有挑选出名为“name.txt”的txt 文件。任何帮助将不胜感激。
PS: 请忽略错误的拼写和我糟糕的格式(我是 stackoverflow 的新手)谢谢! (上面的代码主要是我从互联网上找到的代码的混合代码)最佳答案
您应该修改此行;如果您使用UCase
:
If UCase(objFSO.GetExtensionName(objFile.name)) = ".txt"
至
If UCase(objFSO.GetExtensionName(objFile)) = "TXT"
或者如果您使用LCase
If LCase(objFSO.GetExtensionName(objFile)) = "txt"
你的代码看起来像这样:
Set objFSO = CreateObject("Scripting.FileSystemObject")
objStartFolder = "C:\Users\Desktop\folder"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
If LCase(objFSO.GetExtensionName(objFile)) = "txt" Then
Wscript.Echo objFile.Name
End If
Next
关于file - vbs 文件在目录中搜索扩展名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35587834/