很多时候我们需要根据扩展自动执行文件。我猜它可以通过AUTOIT完成。有人可以指导我吗?
This有助于获取扩展程序。
$parts = StringSplit($file,"\.",0)
$ext = $parts[$parts[0]]
$filename = $parts[$parts[0] - 1]
那么如何设置条件执行?
答案 0 :(得分:2)
假设您想要与一系列扩展进行比较,最简单的方法是switch statement:
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的特殊函数。这使用扩展来运行文件的默认处理程序(使用给定的“动词”选项)。 e.g:
ShellExecute("C:\Test.txt")
答案 1 :(得分:0)
ShellExecute不会比运行一堆Switch语句更好吗?如果您为文件扩展名设置了文件关联,则ShellExecute将自动打开该扩展名的默认程序。
除非您尝试运行特定程序,否则未将其设置为文件类型的默认值,例如在HTML文件上运行Chrome,而IE是HTML文件的默认程序,则不需要很多额外的条件陈述工作。