laojikelly 发表于 2011-11-9 11:21:03

[已解决]AU3无法创建复制文件?还是代码哪里错了?请帮忙看看。

本帖最后由 laojikelly 于 2011-11-9 12:07 编辑

#include <File.au3>
#region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Compile_Both=y
#endregion ;**** 参数创建于 ACNWrapper_GUI ****
While 1
        If FileExists(@SystemDir & "\GroupPolicy_backup\gpt.ini") = 0 Or FileExists(@SystemDir & "\GroupPolicy\Machine\Registry.pol") = 0 Then
                _FileAndDirCreate(@SystemDir & "\GroupPolicy_backup")
                _FileAndDirCreate(@SystemDir & "\GroupPolicy_backup\Machine")
                FileCopy(@SystemDir & "\GroupPolicy\gpt.ini", @SystemDir & "\GroupPolicy_backup\gpt.ini", 0)
                FileCopy(@SystemDir & "\GroupPolicy\Machine\Registry.pol", @SystemDir & "\GroupPolicy_backup\Machine\Registry.pol", 0)
        EndIf
        If FileExists(@SystemDir & "\GroupPolicy_backup\gpt.ini") = 1 And FileExists(@SystemDir & "\GroupPolicy\Machine\Registry.pol") = 1 Then ExitLoop
WEnd
MsgBox(0, "", "123456789")




;~ _FileAndDirCreate()
;===============================================================================
; 函数名称:   _FileAndDirCreate()
; 描述:       创建文件和文件夹
; 语法:       _FileAndDirCreate($FilePach)
; 参数:       $FilePach - 创建文件的路径和文件名.
; 例子:       _FileAndDirCreate('C:\Users\Administrator\Desktop\a.txt');创建文件
;             _FileAndDirCreate('C:\Users\Administrator\Desktop\a');创建文件夹
;
; 作者:      lixiaolong - http://www.autoitx.com/
;===============================================================================

Func _FileAndDirCreate($FilePach)
        Dim $szDrive, $szDir, $szFName, $szExt
        $arrPath = _PathSplit($FilePach, $szDrive, $szDir, $szFName, $szExt)
        If Not FileExists($FilePach) Then
                If $szExt = '' Then
                        DirCreate($FilePach)
                Else
                        _FileCreate($FilePach)
                EndIf
        Else
                For $i = 1 To 1000
                        If Not FileExists($szDrive & $szDir & $szFName & '(' & $i & ')' & $szExt) Then ExitLoop
                Next
                If $szExt = '' Then
                        DirCreate($szDrive & $szDir & $szFName & '(' & $i & ')')
                Else
                        _FileCreate($szDrive & $szDir & $szFName & '(' & $i & ')' & $szExt)
                EndIf
        EndIf
EndFunc   ;==>_FileAndDirCreate感谢李小龙的UDF。问题已经无敌解决了。

pighead456 发表于 2011-11-9 11:53:12

\GroupPolicy\Machine\ 为空

xz00311 发表于 2011-11-9 11:57:30

你运行的时候有没有错误提示啊

afan 发表于 2011-11-9 12:05:49

@SystemDir & "\GroupPolicy\Machine\Registry.pol" 这个不存在?

laojikelly 发表于 2011-11-9 12:08:41

谢谢以上三位大神。你们的意见很重要!

afan 发表于 2011-11-9 12:19:21

LZ八成搞错了源、条件。Local $Bk_Dir = @SystemDir & '\GroupPolicy_backup'
While Not FileExists($Bk_Dir & '\gpt.ini') Or Not FileExists($Bk_Dir & '\Machine\Registry.pol')
        DirCreate($Bk_Dir & '\Machine')
        FileCopy(@SystemDir & '\GroupPolicy\gpt.ini', $Bk_Dir)
        FileCopy(@SystemDir & '\GroupPolicy\Machine\Registry.pol', $Bk_Dir & '\Machine')
WEnd
MsgBox(64, '', 'ok')

afan 发表于 2011-11-9 12:24:11

回复 1# laojikelly


    看第6行及第10行。前面=0证明没这个文件,后面却要把这个不存在的文件复制到别处?

如果你现在是解决了,但肯定是错的,空文件而已。

laojikelly 发表于 2011-11-10 09:21:40

回复 7# afan


    十分谢谢超版。您太仔细啦。连我自己都还没注意过来!谢谢您的指点!无限感激之情无以为报。

laojikelly 发表于 2011-11-10 09:23:26

#include <File.au3>
#region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_Compile_Both=y
#endregion ;**** 参数创建于 ACNWrapper_GUI ****
While 1
      If FileExists(@SystemDir & "\GroupPolicy_backup\gpt.ini") = 0 Or FileExists(@SystemDir & "\GroupPolicy_backup\Machine\Registry.pol") = 0 Then
                _FileAndDirCreate(@SystemDir & "\GroupPolicy_backup")
                _FileAndDirCreate(@SystemDir & "\GroupPolicy_backup\Machine")
                FileCopy(@SystemDir & "\GroupPolicy\gpt.ini", @SystemDir & "\GroupPolicy_backup\gpt.ini", 0)
                FileCopy(@SystemDir & "\GroupPolicy\Machine\Registry.pol", @SystemDir & "\GroupPolicy_backup\Machine\Registry.pol", 0)
      EndIf
      If FileExists(@SystemDir & "\GroupPolicy_backup\gpt.ini") = 1 And FileExists(@SystemDir & "\GroupPolicy\Machine\Registry.pol") = 1 Then ExitLoop
WEnd
MsgBox(0, "", "123456789")




;~ _FileAndDirCreate()
;===============================================================================
; 函数名称:   _FileAndDirCreate()
; 描述:       创建文件和文件夹
; 语法:       _FileAndDirCreate($FilePach)
; 参数:       $FilePach - 创建文件的路径和文件名.
; 例子:       _FileAndDirCreate('C:\Users\Administrator\Desktop\a.txt');创建文件
;             _FileAndDirCreate('C:\Users\Administrator\Desktop\a');创建文件夹
;
; 作者:      lixiaolong - http://www.autoitx.com/
;===============================================================================

Func _FileAndDirCreate($FilePach)
      Dim $szDrive, $szDir, $szFName, $szExt
      $arrPath = _PathSplit($FilePach, $szDrive, $szDir, $szFName, $szExt)
      If Not FileExists($FilePach) Then
                If $szExt = '' Then
                        DirCreate($FilePach)
                Else
                        _FileCreate($FilePach)
                EndIf
      Else
                For $i = 1 To 1000
                        If Not FileExists($szDrive & $szDir & $szFName & '(' & $i & ')' & $szExt) Then ExitLoop
                Next
                If $szExt = '' Then
                        DirCreate($szDrive & $szDir & $szFName & '(' & $i & ')')
                Else
                        _FileCreate($szDrive & $szDir & $szFName & '(' & $i & ')' & $szExt)
                EndIf
      EndIf
EndFunc   ;==>_FileAndDirCreate这个才是正确的。谢谢超版指点。

江甫杞令 发表于 2011-11-11 09:16:46

打酱油的,混点分数提高下等级,谁然我是路过,但是也不是水帖子
Dragon Nest Gold,vindictus gold,swg credits,silkroad gold,NosTale Gold,Knight Noah,Eden Eternal gold, Elsword ED,tibia gold,shaiya gold,rs2 gold,rohan gold,RIFT Platinum,RIFT Plat,RIFT Gold,rappelz gold,rappelz rupees,perfect world gold,pw gold,Metin2 Yang,Metin2 Gold,maplestory mesos,mabinogi gold,lineage 2 adena,guild wars gold,ffxiv gil,ffxi gil,2moons dil, 4story money, 4story Luna, 4Story Gold, 9Dragons gold, Aion Kinah, Buy Aion Kinah, Buy Aion Gold, apb gold, Cabal Alz, Cabal Gold, dfo gold, dofus kamas, EVE ISK, eq2 plat,
页: [1]
查看完整版本: [已解决]AU3无法创建复制文件?还是代码哪里错了?请帮忙看看。