godhawk 发表于 2012-1-6 09:20:01

[已解决]WIN7 下编译了无法运行,但是测试却正常

本帖最后由 godhawk 于 2012-1-13 11:20 编辑

#include <Process.au3>
#include <_FileDelete.au3>

                _RunDOS('rd /s /q "C:\downloads\Exfolder" & md "C:\downloads"')

                _DeleteAllSubdirAndFiles( "C:\downloads")

这两句代码,都是清空一个文件夹的内容,但是在win7下,F5测试正常,一旦编译,无论是X64还是X86,都无效,请问谁知道怎么解决这个问题呢?

{:face (396):}

godhawk 发表于 2012-1-6 13:15:29

补充下,自定义函数是这样的


Func _DeleteAllSubdirAndFiles($Directory)
      $search = FileFindFirstFile($Directory & '\' & '*.*')
      While 1
                $file = FileFindNextFile($search)
                If @error Then ExitLoop
                If FileGetAttrib($Directory & '\' & $file) = 'D' Then
                        DirRemove($Directory & '\' & $file, 1)
                Else
                        If StringInStr(FileGetAttrib($Directory & '\' & $file), "R") Then FileSetAttrib($Directory & '\' & $file, "-R")
                        FileDelete($Directory & '\' & $file)
                EndIf
      WEnd
      FileClose($search)
EndFunc   ;==>_DeleteAllSubdirAndFiles

hzxymkb 发表于 2012-1-6 13:18:37

有何提示?

itljl 发表于 2012-1-6 21:10:26

是不是权限问题?

auto 发表于 2012-1-7 08:52:29

增加管理员权限试试

godhawk 发表于 2012-1-9 16:45:59

没有任何提示,直接没起作用……至于权限,给编译出来的程序加权限?加什么权限?Administrator?

还是给要删除的文件夹加管理员权限?但是我是用管理员登陆windows7的啊

请教详细办法……

半芯竹 发表于 2012-1-10 00:05:06

本帖最后由 半芯竹 于 2012-1-10 00:08 编辑

回复 6# godhawk
#RequireAdmin
#include <Process.au3>
#include <_FileDelete.au3>
If @OSVersion="WIN_7"Then
      If IsAdmin() Then
                   _RunDOS('rd /s /q "C:\downloads\Exfolder" & md "C:\downloads"')
                _DeleteAllSubdirAndFiles( "C:\downloads")
else
msgbox(0,0,"请使用管理员权限运行后重试!")
endif
else
_RunDOS('rd /s /q "C:\downloads\Exfolder" & md "C:\downloads"')

_DeleteAllSubdirAndFiles( "C:\downloads")
endif

godhawk 发表于 2012-1-13 11:20:19

谢谢,我试试……
页: [1]
查看完整版本: [已解决]WIN7 下编译了无法运行,但是测试却正常