0

我编写了一个程序,它计算文件夹中所有文件的 HASH 并将其保存为 xml 文件。现在我的目标是我想从程序外部明确地给出要评估的文件夹

  Dim WshShell, oExec, input
Set WshShell = CreateObject("WScript.Shell")
Set oExec    =_
     WshShell.exec("C:\Users\Administrator\Downloads\fciv.exe -md5 -r -xml _
     d.xml C:\openssl")

 input = ""

 Do While oexec.status=0


 WScript.Sleep 5000
 Loop

这是程序。我尝试添加输入框命令,认为我可以明确地给出输入。这是修改后的程序

 Dim WshShell, oExec, strin
 Set WshShell = CreateObject("WScript.Shell")
 strin= inputbox("folder")
 Set oExec    =_
  WshShell.exec("C:\Users\Administrator\Downloads\fciv.exe -md5 -r -xml ex.xml strin")
 input = ""
 Do While oexec.status=0*

 WScript.Sleep 1000
 Loop

这不起作用:(请帮助。我到底在使用什么?我如何使用 cmd 文件提供相同的输入???

4

1 回答 1

1

您只需要使用字符串连接运算符&来构建命令字符串:

 Dim WshShell, oExec, strin
 Set WshShell = CreateObject("WScript.Shell")
 strin= inputbox("folder")
 Set oExec    =_
  WshShell.exec("C:\Users\Administrator\Downloads\fciv.exe -md5 -r -xml ex.xml """ & strin & """")
 input = ""
 Do While oexec.status=0
     WScript.Sleep 1000
 Loop

我冒昧地添加了适当的双引号,以防输入路径有空格。您可能还想添加一些路径验证,例如:

dim fso: set fso = CreateObject("Scripting.FileSystemObject")
if not fso.FolderExists(strin) then
     WScript.Echo strin & " not found"
     WScript.Quit 1
end if
于 2013-08-01T09:32:45.217 回答