如何浏览文件(Win7 / 64bits)

时间:2014-03-05 15:30:07

标签: windows vbscript hta

我需要在命令行应用程序上快速编写一个简单的GUI。需要两个步骤:

  1. 指定输入文件路径
  2. 指定输出文件路径(不存在)
  3. 我发现了previous post,但试图让上述(1)工作似乎是一项疯狂的任务。

    确实BrowseForFolder似乎仅适用于某些奇怪的情况,您只能BIF_BROWSEINCLUDEFILES使用*.pdf和/或*.txt(试用和错误)。如果我选择*.dll和/或*.jpg(不要问),我会收到错误。

    相反,我放弃了这种方法并遵循another one,在这种情况下(objIE.Document.all.FileSelect),只返回所选文件的名称,路径似乎由于某种原因,始终设置为"c:/fakepath"。所以我再次错过了能够将其传递给命令行app的完整路径。

    是否有任何理智的方法(< 10行代码)得到(1)和(2)在Win7 / 64bits(VBS,HTA ......)上工作?

2 个答案:

答案 0 :(得分:1)

不知道人们是否仍然对BrowseForFolder文件选择问题感兴趣,但这是我发现的。 我在使用& H4000 / BIF_BROWSEINCLUDEFILES选择使用BrowseForFolder的文件时遇到了同样的问题。我可以使用.docx而不是.doc文件返回,就像你说的.pdf文件一样。 对我来说.txt不会返回任何内容,因为我正在编写的脚本不需要WMI Backup .rec文件,导致出现此错误信息: -

Error: Unspecified error
Code: 80004005
Source: (null)

在查看了其他解决方案之后,我回到这个解决方案作为我的首选,而且它正在努力,因为它不想工作。所以在痛苦的一端似乎很容易。 为了识别我的.rec文件,我将其添加到注册表中: -

[HKEY_CLASSES_ROOT\.rec]
@="WMI.Backup"

[HKEY_CLASSES_ROOT\WMI.Backup]
@="WMI Backup"
"BrowseInPlace"="1"

要识别.txt文件,我将其添加到注册表中: -

[HKEY_CLASSES_ROOT\txtfile]
"BrowseInPlace"="1"

所以“BrowseInPlace”=“1”似乎是金块。

似乎非常简单,我确信这个解决方案已经出现在某个地方,但我从来没有遇到过它,所以我认为我会把它放到网上。

我有兴趣发现它适用于其他人,因为我担心这个问题可能会让我发疯,但仍然无法相信它似乎有效。 希望这会有所帮助。

答案 1 :(得分:-1)

以下是3种不同的方法:

http://www.robvanderwoude.com/vbstech_ui_fileopen.php
相关问题