将shell应用程序输出重定向到具有HTA应用程序的文件

时间:2012-11-06 23:20:38

标签: file shell redirect hta

有人能告诉我为什么重定向到文件在我的HTA程序中不起作用吗?它包含以下内容:

Set objShell = CreateObject("Shell.Application")
objShell.ShellExecute "md5sums.exe", "tarball.tar > .\md5sum.log", , , NORMAL_WINDOW

当我使用上面两行运行我的HTA程序而没有重定向时,它可以正常工作。但是第二个我添加了“>。\ md5sum.log”,md5sums.exe吐出了以下错误:

 Unable to read file/directory .\md5sum.log

,这意味着它忽略了重定向符号并试图获取不存在的md5sum.log文件的校验和。

md5sums.exe只是一个外部校验和程序。当我从命令行运行以下命令时,它工作正常:

 md5sums.exe tarball.tar > .\md5sum.log

,将tarball.tar的校验和按预期方式传递给md5sum.log文件。

我在整个Interwebs中搜索了高低,没有找到解决方案。我非常感谢任何人都可以提供帮助。

1 个答案:

答案 0 :(得分:1)

终于想通了!如果有人碰到这个:

shellCmd = "cmd /c md5sums.exe ""tarball.tar"" > ""md5sum.log"""
Set shell = CreateObject("WScript.Shell")
shell.Run shellCmd