gjotrfdq 发表于 2015-7-7 15:10:57

[已解决]filecopy无法复制问题,求拍砖

本帖最后由 gjotrfdq 于 2015-7-8 09:34 编辑

本人win7 64位系统想将驱动文件从指字的文件夹中复制出来,但在复制system32/drivers文件夹下面的文件时,一直无法复制出文件,尝试用fileexists判断文件是否存在,也得到了不存在的返回值。但是手动到指定目录下查看,该文件又是存在的。请教一下,这时候需要怎么处理(PS:在filecopy无法用的情况下,我尝试用cmd命令去执行,命令当中一样无法复制,但把语句复制出来,直接在cmd当中运行又是可行的。)以下代码
$dllcopy = DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)
FileCopy("C:\Windows\system32\DRIVERS\disk.sys",@DesktopDir)
DllClose($dllcopy)
以上代码可以正常运行,可复制,之前不能复制可能是由于从文件中读入的地址问题,后续继续研究下了

tubaba 发表于 2015-7-7 15:42:05

论坛搜索 重定向

gjotrfdq 发表于 2015-7-7 16:36:43

重定向已关闭DllCall("kernel32.dll", "int", "Wow64DisableWow64FsRedirection", "int", 1)所以应该不是重定向的问题

wq1282 发表于 2015-7-7 17:19:58

别用自己的模块了,新建立一个最简化的脚本测试吧,肯定是可以的,一个简单的复制文件而已 非粘贴这么长内容,是叫人来捉虫的吗!

skyfree 发表于 2015-7-7 18:13:37

写一段简短的能重现问题的代码即可,帖这么长怎么看

luren666 发表于 2015-7-7 18:51:29

前面加一行
#RequireAdmin
请求一下管理员权限,在管理员权限下面支行看看。

luren666 发表于 2015-7-7 18:56:08

测试了一下,下面这样是可以正常运行的,不知道是不是您代码写的不对,你的代码也不能直接运行,还要自己补全,一般人是没时间帮您补代码的。
FileCopy("C:\Windows\System32\drivers\3ware.sys",@DesktopDir)

gjotrfdq 发表于 2015-7-8 09:33:01

谢谢楼上各位拍砖,简单直接FILECOPY是可以复制出来的,看来下一步需要确认一下从文件中读入的地址是否存在其它的不规范字符了

Jenney_qiu 发表于 2015-7-8 16:04:51

我也遇到过这个问题,不过我的问题是如果目标目录已存在同名文件,就会复制失败,即使我用的参数是rewrite也一样。

nqawen 发表于 2015-7-11 18:42:31

1、考虑重定向
2、取得管理员权限

ak47gglllk 发表于 2019-8-16 16:11:11

学习下,感谢,非常感谢。
页: [1]
查看完整版本: [已解决]filecopy无法复制问题,求拍砖