0

すべてのファイルとサブフォルダー ファイルを再帰的に一覧表示する VB スクリプトを作成しました。スクリプトは正常に開始されますが、ファイル名に印刷できない文字が含まれるファイルを含むフォルダーで最終的にクラッシュします。つまり、エクスプローラーでフォルダーを参照すると、小さな四角形が表示されます。そのような文字を含むファイルが見つかったときに、以下のエラー処理を続行するように変更する方法がわかりません。

アドバイスや解決策をいただければ幸いです。ありがとうございました。

Set objFSO = CreateObject("Scripting.FileSystemObject")
strFolder = "C:\Input\"
Set objFolder = objFSO.GetFolder(strFolder)
Set NewFile = objFSO.CreateTextFile("C:\Output\" & objFolder.Name & " FileList.txt", True)
Set colFiles = objFolder.Files

On Error Resume Next

For Each objFile In colFiles
    NewFile.WriteLine(objFile.Path)
    If Err Then
        Err.Clear
    End If
Next

ShowSubFolders(objFolder)

Sub ShowSubFolders(objFolder)
    Set colFolders = objFolder.SubFolders

    For Each objSubFolder In colFolders
        Set colFiles = objSubFolder.Files
            For Each objFile In colFiles
                NewFile.WriteLine(objFile.Path)
                If Err Then
                    Err.Clear
                End If
            Next
        ShowSubFolders(objSubFolder)
    Next
End Sub

NewFile.Close
4

1 に答える 1