Я пробовал CD C:\ DIR /s /b ?????. Txt Но я верну все файлы, имена которых не превышают 5 символов, так как отображать только 5 символов ??

Большое вам спасибо ~

1 ответ1

0

VBA скрипт для вывода списка всех текстовых файлов ....

'Wscript.Echo "begin."
Set objFSO = CreateObject("Scripting.FileSystemObject")
DIM folderStart,fileOutName, fileH
On Error Resume Next
folderStart = InputBox("Drive or folder to start looking in", , "D:\prog\github\academic")
fileOutName = InputBox("File to write results", "Output file", "c:\tmp\filesFounds.note")
Set objSuperFolder = objFSO.GetFolder(folderStart)

Set fileH = objFSO.OpenTextFile(fileOutName,2 ,1)
fileH.WriteLine ("Start " & Now)  
Call ShowSubfolders (objSuperFolder, fileH)
Call fileH.WriteLine ("end " & Now)  
fileH.Close
Wscript.Echo "Done " & Now
WScript.Quit 0

Sub ShowSubFolders(fFolder, fileH)
    Err.clear
    On Error Resume Next
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    If Err.Number = 0 then
        Set colFiles = objFolder.Files
        If Err.Number = 0 then
            For Each objFile in colFiles
                If Err.Number = 0 then
                If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT"  Then
                    If len(objFile.name) = 9  Then    
                        'Wscript.Echo objFile.Name
                        fileH.WriteLine (objFile.path)  
                        'fileH.WriteLine (objFile.name)  'only short name
                    End If
                End If
            End If
            Next
        End If

        For Each Subfolder in fFolder.SubFolders
        Call ShowSubFolders(Subfolder, fileH)
        Next
    End If
End Sub

оригинал

«Wscript.Эхо "начинай". Установите objFSO = CreateObject("Сценарии.FileSystemObject ") DIM folderStart, fileOutName, fileH folderStart = InputBox(" Диск или папка, в которую нужно начать поиск ",," c:\") fileOutName = InputBox(" Файл для записи результатов "," Выходной файл "," c:\tmp\filesFounds.note ") Установите objSuperFolder = objFSO.GetFolder(folderStart)

Set fileH = objFSO.OpenTextFile(fileOutName,2 ,1)
fileH.WriteLine ("Start " & Now)  
Call ShowSubfolders (objSuperFolder, fileH)
Call fileH.WriteLine ("end " & Now)  
fileH.Close
Wscript.Echo "Done " & Now
WScript.Quit 0

Sub ShowSubFolders(fFolder, fileH)
On Error Resume Next
    Set objFolder = objFSO.GetFolder(fFolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
        If UCase(objFSO.GetExtensionName(objFile.name)) = "TXT"  Then
            If len(objFile.name) = 9  Then    
                    'Wscript.Echo objFile.Name
                    fileH.WriteLine (objFile.path)  
                    'fileH.WriteLine (objFile.name)  'only short name
                End If
        End If
    Next

    For Each Subfolder in fFolder.SubFolders
        Call ShowSubFolders(Subfolder, fileH)
    Next

End Sub

Или получите это от http://sel2in.com/pages/prog/vba/

Чтобы использовать имя файла должно быть a.vbs или names5.vbs (или что-то еще, заканчивающееся на vbs), затем просто откройте его - дважды щелкните или щелкните правой кнопкой мыши и выберите открыть

С обработкой ошибок, но не пробовал на c:\ (запустил сейчас)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .