找回密码
 加入
搜索
楼主: xavier880819

使用autoIT调用bat文件的问题

[复制链接]
 楼主| 发表于 2009-7-24 13:17:44 | 显示全部楼层
45# afan


这样啊......那我去看看还有没有其他的办法可以这样子做到。
发表于 2009-7-24 13:27:41 | 显示全部楼层
改一下多窗口操作应该是没问题的~
或者你直接将它编译成子程序exe,然后Run也可以啊,哈哈
 楼主| 发表于 2009-7-24 13:36:11 | 显示全部楼层
47# afan


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

请教教我,谢谢
发表于 2009-7-24 14:34:01 | 显示全部楼层
那个我是指如果你的主窗口还有其它功能,想在调出这个多层菜单工具之后仍能使用其它功能,那就将多层菜单工具先编译成a.exe,然后你的Call('MP3')就可以改成Run(a.exe)了,其实就是调用外部程序~ 当然如果你不需要在调出多层菜单工具之后仍继续操作主窗口,那就最好采用多窗口操作的形式了~
 楼主| 发表于 2009-7-24 15:29:07 | 显示全部楼层
49# afan


好的,我去试试看
 楼主| 发表于 2009-7-28 18:43:43 | 显示全部楼层
首先感谢afan和大家对我的帮助,使我的这个问题得到解决。

然后还想问一个问题,就是接下来我想指定一个地方(例如D盘或者某一个文件夹)里面创建我的文件夹,我不明白可以用那一种命令,希望大家可以稍微提示一下。
谢谢。
发表于 2009-7-28 18:55:59 | 显示全部楼层
51# xavier880819


加一个 GUICtrlCreateInput ,浏览选择, 然后将返回的路径加到生成文件夹的第一层前面就行了
 楼主| 发表于 2009-7-28 19:52:27 | 显示全部楼层
52# afan


这倒是个办法,我去尝试一下,谢谢~
 楼主| 发表于 2009-7-29 10:22:45 | 显示全部楼层
52# 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) ;------------------------这里就是你要的路径
;......
 楼主| 发表于 2009-7-29 11:47:24 | 显示全部楼层
54# xavier880819


对啊,我在前面定义了,然后把$ymlr = GUICtrlRead($yml) 放在创建文件夹的前面,然后创建出来的文件夹,还是不能去我选择了的地方,还是保留在原地方的。
发表于 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 控件,大概就这样吧~
 楼主| 发表于 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[1])
                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[2])
 楼主| 发表于 2009-7-29 14:56:13 | 显示全部楼层
主要就是删除那一部分,实在不知道哪里出问题了
 楼主| 发表于 2009-7-29 15:21:51 | 显示全部楼层
晕了,我都没有变到什么,突然间有可以用了..........

Func Del()
         $gmld = GUICtrlRead($gml)
        DirRemove($gmld & '\' & 'MP3-1',1)
                 EndFunc
难道和之前有任何的不一样么??
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-18 14:55 , Processed in 0.076607 second(s), 15 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表