基 础 函 数 参 考


FileInstall

包含并装入文件到编译脚本.

FileInstall ( "源文件", "释放路径" [, 标志] )

参 数

源文件 源文件路径. 必须是字符串, 而不能是变量或函数调用的结果. 可以是相对路径, 例如 .\ 或 ..\*.au3).
释放路径 结尾带有反斜杠符号(仅指使用目录时)的目标路径. 可以是一个变量. 执行编译的程序将嵌入文件解压到此位置.
标志 [可选参数] 确定是否覆盖已存在的文件:
  0 = (默认) 不覆盖已存在的文件
  1 = 覆盖已存在的文件

返 回 值

成功: 返回 1.
失败: 返回 0.

备 注

函数将外部文件装入到编译后的 AutoIt 脚本程序中.
编译程序执行时, 从编译脚本中提取这些"外部"文件到释放路径. 装入图像文件会大大增加编译脚本的大小.
源文件必须使用字符串文字, 不能是变量, 也不能是计算类函数的返回值. 文件必须能够在编译时被发现.
然而变量, 计算和函数调用在编译时没有得到解决, 除非运行脚本本身,
但长时间的编译以后, 导致产生不适合源文件定义的不良结果. 源文件不能含有通配符.

若在未编译的脚本中使用此函数, 则执行文件复制操作(只是简单测试预编译).
装入的文件将保持原本的创建/修改等时间戳信息.

调用此函数时, 释放目录必须存在, 否则 FileInstall 失败并返回 0, 也不会创建文件和路径. 见 DirCreate() 有关创建目录路径的信息.

文件的属性可能阻止该文件被改写. 调用 FileDelete() 或 FileSetAttrib() 确保文件能够被改写.

相 关 函 数

DirCreate, FileDelete, FileSetAttrib

函 数 示 例


; 包含 "C:\test.bmp" 的位图到编译的程序, 此脚本运行后释放到 "D:\mydir\test.bmp"
; 译注: 要确保运行效果, 必须保证以上位图文件及所有目录存在.
Local $b = True
If $b = True Then FileInstall("C:\test.bmp", "D:\mydir\test.bmp")

;译注: 更直观的示例引自汉网帮助文件示例:

; 编译的程序中将包含记事本程序文件 (路径:"C:\windows\notepad.exe"), 此脚本运行后释放到桌面
Local $b = True
If $b = True Then FileInstall("C:\windows\notepad.exe", @DesktopDir & "\notepad.exe")

provider with jb51.net (unicode)