脚本从Windows驱动器中提取信息

时间:2010-02-12 14:27:26

标签: windows vbscript

我需要一个可以在Windows操作系统(Server 2003)上的任何驱动器上运行和提取信息的脚本,列出包含以下字段的所有文件和文件夹:

  • 完整文件路径(例如C:\ Documents and Settings \ user \ My Documents \ testPage.doc)
  • 文件类型(例如word文档,电子表格,数据库等)
  • 尺寸
  • 创建时
  • 上次修改时
  • 上次访问时

感谢任何帮助。

由于

2 个答案:

答案 0 :(得分:1)

试试这个vbscript

Set objFS=CreateObject("Scripting.FileSystemObject")
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 "Full Path: " & strFile.Path
        WScript.Echo "File Size(bytes): " & strFile.Size
        WScript.Echo "File Date modified: " & strFile.DateLastModified
        WScript.Echo "File Date Created: " &  strFile.DateCreated
        WScript.Echo "File Date accessed: " & strFile.DateLastAccessed

    Next 
End Sub 

在命令行上

c:\test> cscript //nologo myscript.vbs c:\

答案 1 :(得分:0)

要将结果保存到csv文件,请修改ghostdog74的代码,如下所示。

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 myscript.vbs "c:\" > "C:\test\Output.csv"