找回密码
 加入
搜索
查看: 3589|回复: 18

Filecopy 关于这个函数的问题

[复制链接]
发表于 2009-1-29 13:44:45 | 显示全部楼层 |阅读模式
DirCreate(@WindowsDir& "\backup")
Filecopy( @WindowsDir&"\12.exe",@WindowsDir&"\bakup")
Filecopy( @WindowsDir&"\13.exe",@WindowsDir&"\bakup")
Filecopy( @WindowsDir&"\12.exe",@WindowsDir&"\bakup")
Filecopy( @WindowsDir&"\23.exe",@WindowsDir&"\bakup")
Filecopy( @WindowsDir&"\32.exe",@WindowsDir&"\bakup") 




这个段代码可不可以用变量压榨成一句 Filecopy 呢??

会的教教。

[ 本帖最后由 as86455011 于 2009-1-31 16:03 编辑 ]
发表于 2009-1-29 15:06:23 | 显示全部楼层
Local $Files[4] = [12, 13, 23, 32]
DirCreate(@windowsDir & "\backup")
For $eleFile In $Files
       FileCopy(@windowsDir &"\" & $eleFile & ".exe", @windowsDir & "\backup")
Next
 楼主| 发表于 2009-1-29 15:26:59 | 显示全部楼层
原帖由 pusofalse 于 2009-1-29 15:06 发表
Local $Files[4] = [12, 13, 23, 32]
DirCreate(@windowsDir & "\backup")
For $eleFile In $Files
       FileCopy(@windowsDir &"\" & $eleFile & ".exe", @windowsDir & "\backup")
Next


可以说那个原理吗?
发表于 2009-1-29 15:45:22 | 显示全部楼层
这还用说原理吗,利用数组变量!
不过通用新不强
楼主要是学过vbs的话就知道了






 楼主| 发表于 2009-1-29 15:50:31 | 显示全部楼层
最弊就是我没学。
 楼主| 发表于 2009-1-29 15:52:08 | 显示全部楼层
For $eleFile In $Files
FileCopy(@windowsDir &"\" & $eleFile & ".exe", @windowsDir & "\backup")
Next

这个相当于循环复制?

Local $Files[4] = [12, 13, 23, 32]

这个 $Files[4]  中的 4 是不是有4个文件要进行复制?
发表于 2009-1-29 20:07:03 | 显示全部楼层
定义一个数组 把你要的文件名放进这个数组
然后for in 一个一个的copy
但是我只知道一句话

不能牺牲程序可读性来追求效率和缩短代码


我就遇到一个朋友  不管什么东西 总想着要精简一下

也许这就像我 不管什么软件都要追求最新版本 一样吧  个人的性格
 楼主| 发表于 2009-1-29 20:23:32 | 显示全部楼层
难道以上那段代码可能会发生复制错误?
发表于 2009-1-29 20:34:48 | 显示全部楼层
会降低可读性
 楼主| 发表于 2009-1-30 00:14:51 | 显示全部楼层
是不是指程序的运行效率降低了?

还有,用了这段函数,如果找不到要复制的文件,会不会忽略?

----------------------------------------------------------
最后我说下。其实上面那个只是一个例子。里面有150多个文件要复制的。

而且都在 C:\program file , C:\windows & C:\windows\system32  ("C"指系统目录)

难道要一个一个Filecopy?

下面是要复制的文件
access.cpl
acctres.dll
accwiz.exe
ahui.exe
appwiz.cpl
asctrls.ocx
audiodev.dll
batmeter.dll
batt.dll
browseui.dll
calc.exe
cards.dll
certmgr.dll
charmap.exe
cleanmgr.exe
cmd.exe
cmdial32.dll
cmmon32.exe
comctl32.dll
comres.dll
console.dll
credui.dll
cscui.dll
desk.cpl
deskadp.dll
deskmon.dll
devmgr.dll
dfrgres.dll
dialer.exe
dmdlgs.dll
dpvoice.dll
dsquery.dll
els.dll
eventvwr.exe
explorer.exe
filemgmt.dll
fldrclnr.dll
fontext.dll
fsquirt.exe
gcdef.dll
gpedit.dll
hdwwiz.cpl
helpctr.exe
hh.exe
hnetwiz.dll
hotplug.dll
hticons.dll
hypertrm.exe
icmui.dll
ieaksie.dll
iexplore.exe
inetcpl.cpl
inetcplc.dll
intl.cpl
irprops.cpl
joy.cpl
keymgr.dll
logonui.exe
magnify.exe
main.cpl
mdminst.dll
migpwd.exe
migwiz.exe
mmc.exe
mmsys.cpl
mobsync.exe
modemui.dll
moricons.dll
moviemk.exe
msconfig.exe
msdxm.ocx
msgina.dll
msgina.dll
mshearts.exe
mshtml.dll
msident.dll
msieftp.dll
msinfo32.exe
msoeres.dll
mspaint.exe
mstscax.dll
muweb.dll
mycomput.dll
mydocs.dll
narrator.exe
ncpa.cpl
netid.dll
netshell.dll
newdev.dll
notepad.exe
ntkrnlmp.exe
ntkrnlpa.exe
ntoskrnl.exe
ntshrui.dll
nusrmgr.cpl
occache.dll
odbcad32.exe
osk.exe
perfmon.exe
plugin.ocx
powercfg.cpl
printui.dll
rasdlg.dll
rcimlby.exe
regedit.exe
remotepg.dll
rstrui.exe
sapi.cpl
sendmail.dll
setupapi.dll
shdoclc.dll
shdocvw.dll
shell32.dll
shimgvw.dll
shrpubw.exe
sndrec32.exe
sndvol32.exe
sol.exe
spider.exe
srchui.dll
stimon.exe
stobject.dll
storprop.dll
syncapp.exe
sysdm.cpl
sysmon.ocx
sysocmgr.exe
syssetup.dll
tapiui.dll
taskmgr.exe
telephon.cpl
telnet.exe
themeui.dll
timedate.cpl
tourstart.exe
upnpui.dll
url.dll
urlmon.dll
user32.dll
utilman.exe
verifier.exe
wab32.dll
wabfind.dll
wabimp.dll
wiaacmgr.exe
wiadefui.dll
wiashext.dll
wininet.dll
winsrv.dll
wmplayer.exe
wmploc.dll
wordpad.exe
wpabaln.exe
wscript.exe
wscui.cpl
wuauclt.exe
wuaucpl.cpl
wupdmgr.exe
xpsp1res.dll
xpsp2res.dll
xpsp3res.dll
zipfldr.dll

[ 本帖最后由 as86455011 于 2009-1-30 00:20 编辑 ]
发表于 2009-1-30 18:25:59 | 显示全部楼层
如果是整个目录复制 那就用dircopy
如果只是指定文件 那就 一个一个filecopy了
发表于 2009-1-30 18:29:50 | 显示全部楼层

回复 10# as86455011 的帖子

将以上要复制的文件名和路径可以存成一个INI文件。然后用脚本读取INI文件再复制即可。
 楼主| 发表于 2009-1-31 00:07:26 | 显示全部楼层


这样高级的语法我还没有不会呢、
 楼主| 发表于 2009-1-31 00:21:26 | 显示全部楼层
原帖由 sxd 于 2009-1-30 18:25 发表
如果是整个目录复制 那就用dircopy
如果只是指定文件 那就 一个一个filecopy了



我看,我自己又表达错了。不好意思

我是要复制以上的文件。他们都在 C:\Program File   |   C:\windows  |  C:\windows\system32

我要复制到同一个文件夹,是因为我要用Reshacker 修改他们。

这软件是一款美化软件。我自己学术不精,所以跑来求助。
 楼主| 发表于 2009-1-31 00:23:15 | 显示全部楼层
原帖由 sanhen 于 2009-1-30 18:29 发表
将以上要复制的文件名和路径可以存成一个INI文件。然后用脚本读取INI文件再复制即可。



那么如何写呢?帮助文件有没有参考的呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-18 18:20 , Processed in 0.091333 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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