我一直在研究以下VBS。這將搜索父文件夾和所有子/子文件夾,並使用提供的擴展名(doc,docx,msg,ppt,txt)打印任何文件,並提出以下內容。我是VBS新手,但我想定義文件擴展名爲IGNORE,列出所有其他文件。我有每個文件類型工作的目錄列表,但我不想爲每個文件類型設置一個NEXT。我能夠使用<>代碼在頂部表明,不使用匹配擴展名的文件:VBS列出文件名不匹配給定的擴展名
If objFSO.GetExtensionName(strFileName) <> "jpg" then
但是,這並不在下部工作:
if LCase(InStr(1,Files, "jpg")) > 1 then Wscript.Echo Files
我也想定義多種文件類型;像
If objFSO.GetExtensionName(strFileName) <> "jpg" OR "jpeg" OR "tiff"
最後,我需要輸出到一個文本文件,而不是一個Windows腳本消息框。
任何人都可以幫忙嗎?對錯字或混淆抱歉,英語不是我的第一語言。
Dim fso
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set FSO = WScript.CreateObject("Scripting.Filesystemobject")
Set f = fso.CreateTextFile("C:\temp\output.txt", 2)
objStartFolder = "C:\Test"
Set objFolder = objFSO.GetFolder(objStartFolder)
Set colFiles = objFolder.Files
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "x937" then
Wscript.Echo objFile.Name
End If
Next
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "docx" then
Wscript.Echo objFile.Name
End If
Next
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "doc" then
Wscript.Echo objFile.Name
End If
Next
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "txt" then
Wscript.Echo objFile.Name
End If
Next
For Each objFile in colFiles
strFileName = objFile.Name
If objFSO.GetExtensionName(strFileName) = "msg" then
Wscript.Echo objFile.Name
End If
Next
ShowSubfolders objFSO.GetFolder(objStartFolder)
Sub ShowSubFolders(Folder)
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
for each Files in colFiles
if LCase(InStr(1,Files, "msg")) > 1 then Wscript.Echo Files
next
ShowSubFolders Subfolder
Next
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
for each Files in colFiles
if LCase(InStr(1,Files, "txt")) > 1 then Wscript.Echo Files
next
ShowSubFolders Subfolder
Next
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
for each Files in colFiles
if LCase(InStr(1,Files, "ppt")) > 1 then Wscript.Echo Files
next
ShowSubFolders Subfolder
Next
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
for each Files in colFiles
if LCase(InStr(1,Files, "xls")) > 1 then Wscript.Echo Files
next
ShowSubFolders Subfolder
Next
For Each Subfolder in Folder.SubFolders
Set objFolder = objFSO.GetFolder(Subfolder.Path)
Set colFiles = objFolder.Files
for each Files in colFiles
if LCase(InStr(1,Files, "doc")) > 1 then Wscript.Echo Files
next
ShowSubFolders Subfolder
Next
End Sub
*但是,這並不在下部的工作: '如果LCase(InStr(1,Files,「jpg」))> 1那麼Wscript.Echo文件* *我相信這是因爲'Files'是一個完整的對象,你只有一個'.Name'屬性它,所以你應該用'Files.Name'替換它 –