Vbscript msgbox из списка файлов

Я новичок в VBS, но мне нужно сделать сценарий, который копирует файлы из одной папки в другую, затем читает список дырок скопированных файлов и создает файл журнала с этими именами. Это где я получил это покрыто. Следующее, что мне нужно сделать, это сделать что-то вроде msgbox/IEmsg из этого списка. это msgbox должны иметь все имена файлов, строка под строкой, этот сценарий только что скопирован.

Это мой сценарий:

StrMonth = Month(Date)
 If Len(strMonth) = 1 Then
 strMonth = "0" & strMonth
 End If
 StrDay = Day(Date)
 If Len(strDay) = 1 Then
 strDay = "0" & strDay
 End If
 StrYear = Year(Date)

 FolderName = "c:\Rafel" & strDay & "." & strMonth & "." & StrYear
Set objFSO = CreateObject("Scripting.FileSystemObject")
SET objFolder = objFSO.CreateFolder(FolderName)
 objFSO.CopyFile "c:\Rafel\files\*.*", FolderName & "\"

  Wscript.Sleep 1000
  IF objFSO.FileExists( FolderName & "\database.txt") THEN
    Wscript.Echo "Folder created, files are copied."
  END IF


SET objFSO = CreateObject("Scripting.FileSystemObject") 
FILEFOLDER = FolderName
SET objFolder = objFSO.GetFolder(FILEFOLDER)
SET filelist = objFolder.Files
FILELOG = FolderName & "\file log.log"

FOR EACH objFile IN filelist
        FILENAME = FILENAME & "###" & Now & " File copied" & "###" & vbCrlf &_
                  "    File name:" & objFile.Name & vbCrlf &_
                    "    Create date:" & objFile.DateLastModified & vbCrlf &_
                      "    Size:" & objFile.Size & vbCrlf &_
                        vbCrlf
NEXT
SET objFile = objFSO.CreateTextFile(FILELOG)
              objFile.Write vbCrlf
              objFile.Write(FILENAME) 
              objFile.Close

Как вы можете видеть, он работает так же, как копирование и создание файла журнала со списком файлов. Но как я могу сделать одно сообщение со списком этих файлов? Я пробовал, for each но это просто "спам" msgbox для каждого файла.

Я нуб, пожалуйста, примите это во внимание.:)

1 ответ

Решение

Используйте собственное всплывающее окно wscript.shell, чтобы увеличить максимальное количество символов в msgbox и соответственно отобразить msgbox.

Больше информации

Код.

StrMonth = Month(Date)
 If Len(strMonth) = 1 Then
 strMonth = "0" & strMonth
 End If
 StrDay = Day(Date)
 If Len(strDay) = 1 Then
 strDay = "0" & strDay
 End If
 StrYear = Year(Date)

 FolderName = "c:\Rafel" & strDay & "." & strMonth & "." & StrYear
Set objFSO = CreateObject("Scripting.FileSystemObject")
SET objFolder = objFSO.CreateFolder(FolderName)
 objFSO.CopyFile "c:\Rafel\files\*.*", FolderName & "\"

  Wscript.Sleep 1000
  IF objFSO.FileExists( FolderName & "\database.txt") THEN
    Wscript.Echo "Folder created, files are copied."
  END IF


SET objFSO = CreateObject("Scripting.FileSystemObject") 
FILEFOLDER = FolderName
SET objFolder = objFSO.GetFolder(FILEFOLDER)
SET filelist = objFolder.Files
FILELOG = FolderName & "\file log.log"

FOR EACH objFile IN filelist
        FILENAME = FILENAME & "###" & Now & " File copied" & "###" & vbCrlf &_
                  "    File name:" & objFile.Name & vbCrlf &_
                    "    Create date:" & objFile.DateLastModified & vbCrlf &_
                      "    Size:" & objFile.Size & vbCrlf &_
                        vbCrlf
NEXT
SET objFile = objFSO.CreateTextFile(FILELOG)
              objFile.Write vbCrlf
              objFile.Write(FILENAME) 
              objFile.Close

Dim objShell : Set objShell = CreateObject("Wscript.Shell")
objShell.Popup FILENAME, 0, "Filenames", 0
Другие вопросы по тегам