0

很多时候,我们需要根据文件的扩展名自动执行文件。我想这可以通过AUTOIT来完成。有人可以指导我吗?

有助于获得扩展。

$parts = StringSplit($file,"\.",0)
$ext = $parts[$parts[0]]
$filename = $parts[$parts[0] - 1] 

那么如何设置条件执行呢?

4

2 回答 2

2

比较扩展

假设您想与一系列扩展进行比较,最简单的方法是switch 语句

Switch $ext
    Case "txt"
        ; What to do with text files
    Case "htm", "html"
        ; Example of matching more than one extension
    Case Else
        ; Extension wasn't any of the above
EndSwitch

让shell执行文件

我认为您真正想要做的是让计算机决定执行文件的最佳程序是什么。此信息与扩展名(在 HKEY_CLASSES_ROOT 中)一起存储在注册表中,但您不需要知道任何这些,因为提供了一个称为ShellExecute的特殊函数。这使用扩展来运行文件的默认处理程序(可以选择使用给定的“动词”)。例如:

ShellExecute("C:\Test.txt")
于 2012-04-23T17:24:25.037 回答
0

ShellExecute 不会比运行一堆 Switch 语句更好吗?如果您为文件扩展名设置了文件关联,那么 ShellExecute 将自动打开该扩展名的默认程序。

除非您尝试运行特定程序,否则该程序未设置为文件类型的默认值,例如在 HTML 文件上运行 Chrome,而 IE 是 HTML 文件的默认程序,那么它不应该需要很多额外的条件语句工作。

于 2012-05-08T22:10:58.520 回答