Требуется справка по VBScript - PullRequest
1 голос
/ 17 февраля 2010

Мне нужен скрипт, который может запускать и извлекать информацию с любого диска в операционной системе Windows (Windows Server 2003), перечисляя все файлы и папки, которые содержат следующие поля: Сервер довольно большой и находится в нашем домене.

Требуемая информация:

  • Полный путь к файлу (например, C: \ Documents and Settings \ user \ Мои документы \ testPage.doc)
  • Тип файла (например, текстовый документ, электронная таблица, база данных и т. Д.)
  • Размер
  • При создании
  • При последнем изменении
  • При последнем доступе

Также сценарию необходимо будет преобразовать эти данные в файл CSV, который позже я смогу изменить и обработать в Excel. Я могу представить, что эти данные будут огромными, но они мне все еще нужны. Я вошел в систему как администратор на сервере, и сценарий должен будет также обрабатывать защищенные файлы. Как и в предыдущих постах, я читал, что сценарий остановится, если такие файлы будут обработаны. Мне нужно убедиться, что ни один файл не пропущен.

Обратите внимание, что я задавал этот вопрос раньше, но все еще не получил рабочий сценарий.

Это скрипт, который я получил до сих пор, файл Test.vbs:

Set objFS=CreateObject("Scripting.FileSystemObject")
WScript.Echo Chr(34) & "Full Path" &_
 Chr(34) & ","  & Chr(34) & "File Size" &_
 Chr(34) & ","  & Chr(34) & "File Date modified" &_
 Chr(34) & "," & Chr(34) & "File Date Created" &_
 Chr(34) & "," & Chr(34) & "File Date Accessed" & Chr(34)
Set objArgs = WScript.Arguments
strFolder = objArgs(0)
Set objFolder = objFS.GetFolder(strFolder)
Go (objFolder)
Sub Go(objDIR)
  If objDIR <> "\System Volume Information" Then
    For Each eFolder in objDIR.SubFolders
        Go eFolder
    Next
  End If
    For Each strFile In objDIR.Files
        WScript.Echo Chr(34) & strFile.Path & Chr(34) & "," &_
        Chr(34) & strFile.Size & Chr(34) & "," &_
        Chr(34) & strFile.DateLastModified & Chr(34) & "," &_
        Chr(34) & strFile.DateCreated & Chr(34) & "," &_
        Chr(34) & strFile.DateLastAccessed & Chr(34)
    Next
End Sub

Я сейчас использую командную строку для ее запуска:

c:\test> cscript //nologo Test.vbs "c:\" > "C:\test\Output.csv"

Скрипт не работает. Я не знаю почему.

1 Ответ

0 голосов
/ 09 июня 2010

Правильная передача аргументов cmd-строки в vbs при использовании Cscript


-Модифицировать инструкцию cmd-line следующим образом (отбросить ">")

c:\test> cscript //nologo Test.vbs "c:\" "C:\test\Output.csv"

-В дальнейшем внутри скрипта вы можете получить доступ к параметрам cmd-строки следующим образом

strFolder = WScript.Arguments.Item(0)
strFile = WScript.Arguments.Item(1)

Надеюсь, теперь вы можете получить доступ к файлам и правильно перечислить их в csv-файле. : -)

GOODLUCK !!
- CVS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...