xavier880819 发表于 2009-7-24 13:17:44

45# afan


这样啊......那我去看看还有没有其他的办法可以这样子做到。

afan 发表于 2009-7-24 13:27:41

改一下多窗口操作应该是没问题的~
或者你直接将它编译成子程序exe,然后Run也可以啊,哈哈

xavier880819 发表于 2009-7-24 13:36:11

47# afan


怎么做成子exe程序运行?那个我还没有尝试过,也不明白怎么弄。

请教教我,谢谢

afan 发表于 2009-7-24 14:34:01

那个我是指如果你的主窗口还有其它功能,想在调出这个多层菜单工具之后仍能使用其它功能,那就将多层菜单工具先编译成a.exe,然后你的Call('MP3')就可以改成Run(a.exe)了,其实就是调用外部程序~ 当然如果你不需要在调出多层菜单工具之后仍继续操作主窗口,那就最好采用多窗口操作的形式了~

xavier880819 发表于 2009-7-24 15:29:07

49# afan


好的,我去试试看

xavier880819 发表于 2009-7-28 18:43:43

首先感谢afan和大家对我的帮助,使我的这个问题得到解决。

然后还想问一个问题,就是接下来我想指定一个地方(例如D盘或者某一个文件夹)里面创建我的文件夹,我不明白可以用那一种命令,希望大家可以稍微提示一下。
谢谢。

afan 发表于 2009-7-28 18:55:59

51# xavier880819


加一个 GUICtrlCreateInput ,浏览选择, 然后将返回的路径加到生成文件夹的第一层前面就行了

xavier880819 发表于 2009-7-28 19:52:27

52# afan


这倒是个办法,我去尝试一下,谢谢~

xavier880819 发表于 2009-7-29 10:22:45

52# afan


想问问afan,你所说的返回路径是什么意思呢?我不是很明白

afan 发表于 2009-7-29 10:45:01

就跟那段代码是一个意思呀:
;......
$Button2 = GUICtrlCreateButton("Select Folder", 305, 84, 80, 22)
;......
Case $Button2
$ywjj = FileSelectFolder("Choose The Folder", "", 4)
If @error Then ContinueLoop
GUICtrlSetData($yml, $ywjj)
.......
$ymlr = GUICtrlRead($yml) ;------------------------这里就是你要的路径
;......

xavier880819 发表于 2009-7-29 11:47:24

54# xavier880819


对啊,我在前面定义了,然后把$ymlr = GUICtrlRead($yml) 放在创建文件夹的前面,然后创建出来的文件夹,还是不能去我选择了的地方,还是保留在原地方的。

afan 发表于 2009-7-29 11:59:29

Func scml()
        $gmlr = GUICtrlRead($gml) ;-读取到的要创建的目录
        If $gmlr = '' then $gmlr = @ScriptDir
                         .............
                $fn1 = 'F'
                $xml1 = $gmlr & '\' & $fn1 & $i1
                DirCreate($xml1)
                                       ................

之前 GUICtrlCreateInput 好 $gml 控件,大概就这样吧~

xavier880819 发表于 2009-7-29 14:52:03

谢谢 afan,我现在掌握了怎么在制定地方的创建文件夹和复制文件了。
但是我还是按照相同的办法,确没有办法删除已创建的文件了
$gml = GUICtrlCreateInput('',11,120,240,23)
$Button1 = GUICtrlCreateButton("Remove All", 240, 160, 135, 25)
........
........
        Case $Button1
                                        $h=MsgBox(1+48,'Attention','Are you suren you want to Delete all the folders ?')
                                        Select
                                                Case $h=1
                                             Del()
                                             sleep(300)
                                               msgbox(64, 'Finish', 'You have deleted all the folders! ')
.......
........

Func Del()
        $gmld = GUICtrlRead($gml)
        DirRemove($gmld & '\' & 'MP3-1',1)
.........
.........
Func scml()
          $ymlr = GUICtrlRead($yml)
                $gmlr = GUICtrlRead($gml)
      $sl1 = GUICtrlRead($s)
                If $gmlr = '' Then $gmlr = @ScriptDir
      For $i1 = 1 To $sl1
                $fn1 = 'MP3-'
                $xml1 = $gmlr&'\'&$fn1&$i1
                DirCreate($xml1)
                if $ymlr <> '' then DirCopy($ymlr, $xml1, 1)
                $ywc = $ywc + 1
                $sl2 = GUICtrlRead($s)

xavier880819 发表于 2009-7-29 14:56:13

主要就是删除那一部分,实在不知道哪里出问题了

xavier880819 发表于 2009-7-29 15:21:51

晕了,我都没有变到什么,突然间有可以用了..........:face (13):

Func Del()
       $gmld = GUICtrlRead($gml)
        DirRemove($gmld & '\' & 'MP3-1',1)
               EndFunc
难道和之前有任何的不一样么??
页: 1 2 3 [4] 5 6 7 8 9
查看完整版本: 使用autoIT调用bat文件的问题