|
请教高手关于在64位Windows Vista操作系统中使用FileCopy出错的问题
我的脚本是这样的:
FileCopy(@SystemDir & "\" & "\cscript.exe",@HomeDrive & "\" & "\SampleScripts\",9)
; Copy cscript.exe from \Windows\System32\ to \SampleScripts\
脚本在32bit Windows Vista OS, 32bit Windows 7下可以正常工作。但是在64位Windows Vista OS运行时,实际复制的文件却不是我指定的源文件 \Windows\System32\cscript.exe,
实际复制到目的文件夹中的是从 \Windows\SysWoW64\ 目录过来的cscript.exe! 不同目录下的cscript.exe 版本是不同的, 我需要的是 \Windows\System32\cscript.exe。
于是进行Debug。。。
发现在系统中用DOS Command Copy是可以正常复制出来的:
Copy C:\Windows\System32\cscript.exe C:\SampleScripts\
试验了一下笨办法,直接在脚本中指定文件目录,不用函数:
FileCopy("C:\Windows\System32\cscript.exe","C:\SampleScripts\",9)
; Copy cscript.exe from \Windows\System32\ to \SampleScripts\
但是还是没有改善,居然是从\Windows\SysWoW64\目录下复制出来的,而不是我指定的C:\Windows\System32\cscript.exe!!!
经过检查cscript.exe文件的版本,可以用\Windows\winsxs\amd64_microsoft-windows-scripting_31bf3856ad364e35_6.0.6001.18000_none_a486ee99b8b762b1\cscript.exe来作指定源目录,文件同\Windows\System32\cscript.exe的版本是一样的。
但是这样的脚本也太恐怖了吧:
FileCopy("C:\Windows\winsxs\amd64_microsoft-windows-scripting_31bf3856ad364e35_6.0.6001.18000_none_a486ee99b8b762b1\cscript.exe","C:\WDTF\SampleScripts\",9)
; Copy cscript.exe from C:\Windows\winsxs\amd64_microsoft-windows-scripting_31bf3856ad364e35_6.0.6001.18000_none_a486ee99b8b762b1\ to C:\SampleScripts\
有没有高手对在Vista 64bit OS下的脚本有研究,给个意见看,我什么地方的参数要注意修改啊?
|
|