找回密码
 加入
搜索
查看: 7477|回复: 4

[AU3基础] 如何把多个文件打包然后解包到指定路径运行。

[复制链接]
发表于 2012-8-18 16:44:23 | 显示全部楼层 |阅读模式
如何把多个文件打包起来,运行后会解压到指定件夹下,然后顺序的一个一个运行。可以用AU3来做吗,希望老大们提供实例,小弟刚学AU3。
发表于 2012-8-18 17:08:34 | 显示全部楼层
FileInstall
--------------------------------------------------------------------------------

包含并装入指定文件到编译后的脚本程序中.


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




参数

源文件  要装入到编译程序中的文件的路径.文件名必须是字符串,不能是任何变量. 它可以是一个相对路径(使用 .\ 或者 ..\ 等在路径中)
目标路径 结尾带有反斜线符号的目标路径,脚本程序运行时将把嵌入文件解压到此位置.此参数接受变量.
标志 [可选参数] 此标志参数用以决定是否覆盖已存在的文件:
  0 = (默认)不覆盖已存在的文件
  1 = 覆盖已存在的文件



返回值

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



注意/说明

FileInstall 函数的用途是装入文件到编译后的 AutoIt 脚本程序中.这些内嵌的文件将在编译好的脚本程序运行时被"解压"出来.这里要提醒一下的就是装入某些文件如图片文件等可能会导致编译后的脚本程序大小剧增.
源文件(来源文件)参数只接受字符串而不接受变量,计算式或者函数CALL,以便编译器能正确取得文件名并装入文件.
源文件参数不能含有通配符.

若在未编译的脚本中使用此函数则程序将执行一次文件复制操作(这样是为了方便进行预编译测试).
装入的文件将保持原本的创建时间/修改时间等时间戳信息.

目标目录必须存在才能调用此函数,不然FileInstall将会失败, 返回 0 并不会创建文件和路径. 参考 DirCreate() 函数关于创建目录路径.

已存在的文件属性可能导致函数覆盖失败.请使用 FileDelete() 或者 FileSetAttrib() 确保文件能够被覆盖.
发表于 2012-8-18 17:26:00 | 显示全部楼层
FileInstall("C:\WINDOWS\system32\calc.exe", "d:\")
FileInstall("C:\WINDOWS\system32\notepad.exe", "d:\")
FileInstall("C:\WINDOWS\system32\taskmgr.exe", "d:\")
Run("d:\calc.exe")
Run("d:\notepad.exe")
Run("d:\taskmgr.exe")
 楼主| 发表于 2012-8-18 17:35:02 | 显示全部楼层
感谢veket_linux 兄弟,还想提个问题,就解压后能不能改变文件的属性。
发表于 2012-8-19 21:07:26 | 显示全部楼层
函数参考
FileSetAttrib
--------------------------------------------------------------------------------

修改一个或多个文件的属性.


FileSetAttrib ( "文件", "+-RASHNOT" [, 递归遍历] )




参数

文件 目标文件,例如 C:\*.au3,C:\Dir  
+-RASHNOT     要增加或去除地属性,例如"+A","+RA-SH"  
递归遍历 [可选参数] 若设为1则将指定的属性更改递归应用到所有子目录(默认值为0,表示不递归).  



返回值

成功: 返回值为1.
失败: 返回值为0,说明遇到了错误.



注意/说明

本函数的参数 文件属性 不可以含有空格!
可通过本函数增减的属性包括:
"R" = READONLY(只读)
"A" = ARCHIVE(存档)
"S" = SYSTEM(系统文件)
"H" = HIDDEN(隐藏文件)
"N" = NORMAL(普通)
"O" = OFFLINE(脱机文件)
"T" = TEMPORARY(临时文件)

(注意,本函数并不能设置压缩的/目录属性.)




相关

FileGetAttrib, FileGetTime, FileSetTime
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-5 07:06 , Processed in 0.077743 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表