【问题标题】:VBScript Issue Help Required需要 VBScript 问题帮助
【发布时间】:2012-05-03 02:26:14
【问题描述】:

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

需要的信息是:

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

脚本还需要将该数据转换为 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"

脚本不工作。我不知道为什么。

【问题讨论】:

  • 它是否给出任何错误信息?
  • 它会生成 CSV 文件,看起来像是启动了一些东西,但没有任何反应,就是这样,虽然它没有运行。
  • 这个问题很可能会作为您的另一个问题stackoverflow.com/questions/2272317/vbs-script-help 的副本而被关闭。我能给您的唯一建议是尝试确保在您的问题上设置了适当的标签,并尝试获得更多代表,以便您提供赏金。赏金问题会引起更多兴趣,因为回答这些问题可以获得更高的声誉奖励。
  • 如果没有回答怎么关闭,我看到每个问题的活动只有30分钟到1小时,并且也了解积分系统,但是这个网站的全部要点是问问题并得到答案吗?那么帮助某人或仅仅获得几分更重要。我让你决定,如果你想关闭它,请继续,如果不是,谢谢
  • 我对这个问题/错误很感兴趣。你能不能在这里发布/上传[1]它生成的文件和[2]命令行上的输出......

标签: vbscript


【解决方案1】:

使用 Cscript 时正确地将 cmd-line args 传递给 vbs


-修改命令行语句如下(去掉“>”)

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

-接下来在脚本里面可以访问命令行参数如下

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

我希望您现在可以访问这些文件并在 csv 文件中正确列出它们。 :-)

祝你好运!!
- CVS

【讨论】:

    猜你喜欢
    • 2014-09-12
    • 1970-01-01
    • 2011-05-22
    • 2011-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-05-01
    相关资源
    最近更新 更多