Я создал сценарий VB, чтобы рекурсивно перечислить все файлы файлов и подпапок. Скрипт начинается нормально, но в конечном итоге сбой в любой папке, содержащей файл с непечатаемыми символами/s в именах файлов, то есть я вижу маленькие квадраты при просмотре папки в Проводнике. Я не уверен, как изменить мою нижнюю обработку ошибок, чтобы продолжить, когда найдет файл с такими символами.Непечатаемые символы в именах файлов ломают список рекурсивных файлов VB Script
Любые советы или решения будут оценены. Спасибо.
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
Я ничего не могу VB сказать (я не использую MS-Windows, только немногие люди здесь на SO сделать), но здесь это общий совет: кажется, что вы не знаете, какую кодировку вы фактически используете. Без этой информации вы копаете в темноте, так как вы не знаете, что ищете. Узнайте свою настройку, и если она изменяется или является постоянной от установки до установки. Только тогда, когда вы знаете, как символы кодируются внутри вашей установки, вы можете начать отладку. – arkascha
Спасибо, ребята. Я пробую решение MC ND. Я удалил обработку ошибок и заметлю ошибку, если она появится снова. Кажется, это ошибка перевода Unicode-> ANSI. – user2836826