2012-09-02 2 views
0

폴더를 스캔하고 jpg, png, gif와 같은 이미지 파일 만 나열하도록 스크립트를 만들려고합니다. 이것은 코드입니다폴더를 스캔하여 vbscript로 이미지 파일 만 나열하십시오.

Dim fso, ObjFolder, ObjOutFile, ObjFiles, ObjFile, outputFile, inputFileList 
Const ForReading = 1, ForWriting = 2, ForAppending = 8, CreateIfNeeded = true 

inputFileList = "list.txt" 
outputFile = "C:\Users\Susan\Documents\iMacros\Macros\WindowsFiles.txt" 
Set fso = CreateObject("Scripting.FileSystemObject") 
Set objTextFile = fso.OpenTextFile(inputFileList, ForReading) 

Do Until objTextFile.AtEndOfStream 
sFolderName = objTextFile.Readline 
wscript.Echo "writing contents of " & sFolderName 
writefilenames(sFolderName) 
Loop 

function writefilenames(sFolderName) 
    Set ObjFolder = fso.GetFolder(sFolderName) 

    If fso.FileExists(outputFile) Then 
    Set ObjOutFile = fso.OpenTextFile(outputFile, ForAppending) 
    Else 
    Set ObjOutFile = fso.OpenTextFile(outputFile, ForWriting, CreateIfNeeded) 
    End If 

    Set ObjFiles = ObjFolder.Files 

    For Each ObjFile In ObjFiles 
    ObjOutFile.WriteLine(ObjFile.Path) 
    Next 

    ObjOutFile.Close 
end function 

누구든지 적절한 코드를 제공 할 수 있습니까?

답변

3

일치하는 확장자가 ObjFile 인 경우에만 ObjOutFile.WriteLine(ObjFile.Path) 명령을 실행하십시오.

Set extensions = CreateObject("Scripting.Dictionary") 
extensions.CompareMode = 1 ' make lookups case-insensitive 
extensions.Add "jpg", True 
extensions.Add "png", True 
extensions.Add "gif", True 

'... 

For Each ObjFile In ObjFiles 
    If extensions.Exists(fso.GetExtensionName(ObjFile)) Then 
    ObjOutFile.WriteLine(ObjFile.Path) 
    End If 
Next 

그리고 broadcast 질문하지 마십시오. 도움을 청하는 사람들에게는 너무 예의가 아닙니다.

관련 문제