Autoit 打开文件的几种方式(run/Fileopen/ShellExecute)

run 和 ShellExecute 都可以打开exe可执行文件,当需要打开特定文件的时候 ShellExecute 就显得更为方便了。

RUN 函数

Run ;运行外部程序.
Run ( "程序" [, "工作目录" [, 显示标志[, 可选标志]]] )

run的对象只可以是exe、bat、com或pif文件,还可以运行cmd命令。
所以如果不是可执行文件的话,用run就无效了。

FileOpen函数

FileOpen("文件名"[, 模式 = 0])
[可选] 文件打开模式.
可以是以下值的组合:
$FO_READ (0) = 只读模式(默认)
$FO_APPEND (1) = 写入模式(追加数据到文件尾部)
$FO_OVERWRITE (2) = 写入模式(删除之前的内容)
$FO_CREATEPATH (8) = 如果目标目录不存在就创建(见备注).
$FO_BINARY (16) = 强制二进制模式(见备注).
$FO_UNICODE 或 $FO_UTF16_LE (32) = 使用 Unicode UTF16 小编码读写模式.
$FO_UTF16_BE (64) = 使用 Unicode UTF16 大编码读写模式.
$FO_UTF8 (128) = 使用 Unicode UTF8 (带 BOM)读写模式.
$FO_UTF8_NOBOM (256) = 使用 Unicode UTF8 (无 BOM)读写模式.
$FO_ANSI (512) = 使用 ANSI 读写模式.
$FO_UTF16_LE_NOBOM (1024) = 使用 Unicode UTF16 (无 BOM) 小编码读写模式.
$FO_UTF16_BE_NOBOM (2048) = 使用 Unicode UTF16 (无 BOM) 大编码读写模式.
$FO_FULLFILE_DETECT (16384) = 读取没有 BOM 的打开文件时, 完整检测文件确定它是否为 UTF8 或 UTF16 编码.
如果不使用这一模式, 则因性能方面原因只会检测文件初始部分(最多 64 KB).
文件夹路径必须存在(除非指定模式 $FO_CREATEPATH (8) - 见备注).

ShellExecute 函数

ShellExecute("文件名"[, "参数"[, "工作目录"[, "verb(动作)"[, 显示]]]])
ShellExecute就是使用 ShellExecute API 执行一个外部程序.

也就是说利用系统本身来运行文件,所以只要系统能认识的文件,就能打开,就和双击操作是一样的,不管什么文件,只要系统中双击能打开,那么ShellExecute就能打开。
假如系统不认识某个文件的话,那么用ShellExecute命令也会不认识,照样会跳出“打开方式”的对话框。

示例:

你可以用以下几个命令对比一下:

比如需要打开c:\abc.txt文件

run("c:\abc.txt")

以上这个命令因为txt文件不是可执行文件,所以没有效果,无法打开。
只能通过记事本程序打开,打开方式有3种。

run("notepad.exe c:\abc.txt")
FileOpen("c:\abc.txt",1)
shellExecute("c:\abc.txt")

如果需要打开abc.docx 或者abc.xlsx文档,那run命令就很难去实现了,反正我是没做到。

而shellExecute命令非常简单

shellExecute("c:\abc.docx")
shellExecute("c:\abc.xlsx")

补充:

shellExecute 还可以打开文件夹目录

shellExecute("文件夹路径")

猜你喜欢

转载自blog.csdn.net/no1xium/article/details/107908051