有人能告诉我为什么重定向到文件在我的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中搜索了高低,没有找到解决方案。我非常感谢任何人都可以提供帮助。
答案 0 :(得分:1)
终于想通了!如果有人碰到这个:
shellCmd = "cmd /c md5sums.exe ""tarball.tar"" > ""md5sum.log"""
Set shell = CreateObject("WScript.Shell")
shell.Run shellCmd