找回密码
 加入
搜索
查看: 4135|回复: 10

run如何运行指定目录下的某个EXE文件?

[复制链接]
发表于 2009-11-2 13:39:41 | 显示全部楼层 |阅读模式
假设要运行a目录的b或者c文件

b和c是不固定的,但是,都是exe文件
那么,我要怎么运行b或者c文件呢?
a目录下只有b和c之间的一个文件
发表于 2009-11-2 15:11:58 | 显示全部楼层
如何运行b或c关键是条件。
发表于 2009-11-2 15:38:03 | 显示全部楼层
随便写个,自己改吧
$path ="a目录的完整路径"

_SF($path)
Func _SF($searchdir="")
        If $searchdir = "" then $searchdir = @ScriptDir
    $search = FileFindFirstFile($searchdir & '\*.*')
    If $search = -1 Then Return -1
    While 1
        $file = FileFindNextFile($search)
        If @error Then
            FileClose($search)
            Return
        ElseIf $file = '.' Or $file = '..' Then
            ContinueLoop
        ElseIf StringInStr(FileGetAttrib($searchdir & '\' & $file), 'D') Then
            _filelist($searchdir & '\' & $file)
        EndIf
                If StringRight($file, 4) = ".exe" Then
                        If $file<>@ScriptName Then
                                ShellExecute($searchdir&""&$file,"",$searchdir)
                                Exit 0
                        EndIf
                EndIf
    WEnd
EndFunc
 楼主| 发表于 2009-11-2 16:12:54 | 显示全部楼层
哎,就想取个文件名,怎么要那么多代码,郁闷。

就想取到A文件夹下的b或者c文件的文件名为变量
然后用run去执行
发表于 2009-11-2 16:20:51 | 显示全部楼层
4# jumzhou
不知“b和c不固定”是什么意思?
文件名称不确定,还是不可预知?还是文件是否存在不确定??
发表于 2009-11-2 16:21:47 | 显示全部楼层
4# jumzhou
如果文件名称可预知,可以先通过名称查看文件是否存在,用循环加条件判断
发表于 2009-11-2 16:30:04 | 显示全部楼层
哎,就想取个文件名,怎么要那么多代码,郁闷。

就想取到A文件夹下的b或者c文件的文件名为变量
然后用run去执行
jumzhou 发表于 2009-11-2 16:12

你行你自己搞吧,我上面的源码,就是找出指定路径的所有exe,然后运行
发表于 2009-11-2 16:35:53 | 显示全部楼层
可以先试一下别人的代码合不合适自己然后你在说别人,别人写出来的代码也要时间应该先谢谢别人不合适在说
 楼主| 发表于 2009-11-2 17:10:26 | 显示全部楼层
楼上几位误会了,我的意思是,au3的代码好像很繁杂
因为习惯了批处理里直接用for语句就能获取目录下exe的文件名,所以才会觉得au3的代码很多
有不敬之处,望体谅
发表于 2009-11-2 22:01:58 | 显示全部楼层
写多几行有问题?汇编更长。。。
而且这样也不错嘛。。。
你自己精简下源码就行,我写这样,主要是想满足你可以更好的更改。。。
发表于 2009-11-2 22:41:58 | 显示全部楼层
$aFile = _FileListToArray($path, ".exe")
select
    case _ArrayFindAll($aFile, "a.exe") <> -1
            run(a.exe)
    case _ArrayFindAll($aFile, "b.exe") <> -1
          run(b.exe)
endselect

评分

参与人数 1金钱 +50 贡献 +20 收起 理由
kn007 + 50 + 20 very well,果然高手

查看全部评分

您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-26 14:29 , Processed in 0.090969 second(s), 25 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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