很多时候,我们需要根据文件的扩展名自动执行文件。我想这可以通过AUTOIT来完成。有人可以指导我吗?
这有助于获得扩展。
$parts = StringSplit($file,"\.",0)
$ext = $parts[$parts[0]]
$filename = $parts[$parts[0] - 1]
那么如何设置条件执行呢?
假设您想与一系列扩展进行比较,最简单的方法是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
我认为您真正想要做的是让计算机决定执行文件的最佳程序是什么。此信息与扩展名(在 HKEY_CLASSES_ROOT 中)一起存储在注册表中,但您不需要知道任何这些,因为提供了一个称为ShellExecute的特殊函数。这使用扩展来运行文件的默认处理程序(可以选择使用给定的“动词”)。例如:
ShellExecute("C:\Test.txt")
ShellExecute 不会比运行一堆 Switch 语句更好吗?如果您为文件扩展名设置了文件关联,那么 ShellExecute 将自动打开该扩展名的默认程序。
除非您尝试运行特定程序,否则该程序未设置为文件类型的默认值,例如在 HTML 文件上运行 Chrome,而 IE 是 HTML 文件的默认程序,那么它不应该需要很多额外的条件语句工作。